JavaRush /Blog Java /Random-FR /Comment écrire du code propre

Comment écrire du code propre

Publié dans le groupe Random-FR
Rendre votre code propre et beau est un excellent moyen de respecter les délais. Robert Martin a mis le doigt sur la tête avec l'une de ses déclarations lapidaires : "La seule véritable mesure de la qualité du code est l'unité What-The-F**ks/Minute". .” " dans l'original). Comment écrire du code propre - 1Laissez-moi vous expliquer ce que cela signifie. Chaque fois que je révise du code, mon cerveau traverse l'une des trois émotions suivantes :
  • « WTF ?! Que diable?!" (avec dégoût) - ce n'est pas ça... tout va très mal....
  • « WTF ?! Que diable?!" (avec admiration) - hmm, c'est un gars intelligent qui l'a fait !
  • « WTF ?! Que diable?!" (avec irritation) - une sorte de confusion, de quoi parle-t-on ?!
Alors, qu’est-ce qui est primordial et qu’évaluons-nous exactement lorsque nous voyons du code ? Ça y est : sa pureté et sa beauté. La capacité d’écrire du code propre et beau est un indicateur d’un développeur hautement professionnel. La formation à cette compétence repose sur deux composantes : la connaissance et le travail. La connaissance vous enseigne des modèles, des principes, des pratiques et des heuristiques. Vous en avez besoin pour grandir professionnellement. Vous seul devez absorber ces connaissances comme une éponge grâce à une pratique constante et un travail acharné. Bref, écrire du code propre n’est pas facile. C’est un travail dur et minutieux, et vous devrez y travailler dur. Par essais et erreurs, vous vous améliorerez en répétant les mêmes étapes encore et encore jusqu'à ce que vous trouviez la solution souhaitée. Il n’y a tout simplement pas de moyen plus simple. Vous trouverez ci-dessous quelques conseils pour vous aider à apprendre à écrire du code propre.

Qu'est-ce qu'il y a dans un nom

Kendrick Lamar (artiste hip-hop américain - ndlr) a un jour noté avec précision : "Si je veux raconter la vraie histoire, je dois commencer par mon nom." Les noms du développement logiciel sont partout. Nous nommons des fonctions, des classes, des arguments, des packages, des programmes, tout. Nous nommons les fichiers sources et les ouvrages de référence ainsi que tout ce qui s'y rapporte. Nous nommons les choses à l'infini, et cela devient un élément essentiel de la création d'un code propre. Le nom que vous donnez à quelque chose doit refléter l’intention. Trouver un bon nom n'est pas facile, cela prend du temps, mais cela permet aussi de gagner beaucoup de temps lorsqu'il faut s'occuper du code et que la situation se complique. Soyez donc prudent avec ce processus et n'ayez pas peur de changer de nom plus tard si vous trouvez quelque chose de plus approprié. Tous ceux qui s'occupent de votre code vous en seront très reconnaissants.

N'oubliez pas que le nom de toute variable, classe, fonction doit répondre à trois questions principales : pourquoi elle (variable, fonction, etc.) existe, à quoi elle sert et à quoi elle sert.

Cela nécessite non seulement de bonnes compétences descriptives, mais aussi une érudition générale et une vision large. Et personne ne peut vous l’apprendre mieux que vous-même.

code propre

"Une fonction" - une chose

Louis Henry Sullivan (architecte rationaliste et moderniste américain) a dit un jour : « la fonction détermine la forme » . Il a dit cela à propos de l'architecture des maisons, mais cela ne change rien à l'essence. Chaque système est construit sur un langage spécifique à un domaine que les programmeurs créent pour le décrire avec précision. Les fonctions agissent comme des verbes dans la langue et les classes sont des noms. Le plus souvent, les fonctions sont primordiales dans l’organisation d’un langage de programmation, et les écrire correctement est l’essence même de la création d’un bon code. Il n'y a que deux règles d'or pour écrire des fonctions de qualité :
  1. Ils devraient être petits
  2. Ils doivent faire une chose, une tâche, et bien la faire
Autrement dit, votre fonction doit être petite et ne doit pas contenir de structures imbriquées. Ainsi, les niveaux d’indentation de fonction ne doivent pas dépasser un ou deux. Cette approche rend le code beaucoup plus facile à lire, à comprendre et à comprendre. De plus, il faut s'assurer que les expressions au sein de la fonction sont au même niveau d'abstraction. Mélanger les niveaux d'abstraction au sein d'une fonction crée toujours beaucoup de confusion et conduit finalement à un code ingérable. Les meilleurs programmeurs traitent les fonctions comme des histoires à raconter, et pas seulement comme du code à écrire. Ils utilisent les outils du langage de programmation de leur choix pour créer un bloc de code riche, expressif et plus propre qui peut essentiellement servir de grand conteur.

"Les commentaires ne compensent pas un mauvais code"

Venus Williams, joueuse de tennis américaine et quintuple championne de Wimbledon, a mis le doigt sur la tête en déclarant : « Tout le monde laisse ses commentaires. C'est ainsi qu'apparaissent les rumeurs . » Les commentaires sont comme une arme à double tranchant : un commentaire bien placé est une chose très utile. En revanche, rien n’encombre plus l’espace que des commentaires frivoles et inutiles. Mais les commentaires les plus préjudiciables sont ceux qui propagent de la désinformation et des mensonges. Bref, les commentaires sont une sorte de mal nécessaire. Pas toujours, mais pour la plupart. Pourquoi? C'est simple, plus le commentaire est ancien, plus il est difficile à maintenir, et la plupart des programmeurs, comme vous le savez, ne modifient pas toujours les commentaires en même temps que les modifications du code. Le code bouge et évolue. Des parties du code sont déplacées d'avant en arrière, mais il n'y a aucun commentaire. Et cela devient un problème !

N'oubliez pas : un code propre et clair avec peu de commentaires est bien meilleur qu'un code complexe et encombré. Ne gaspillez pas votre énergie à expliquer le chaos que vous avez créé dans les commentaires. Mieux vaut passer ce temps à nettoyer ce gâchis.

code propre

« Le formatage du code est toujours une priorité »

Cela a été dit par nul autre que Robert C. Martin, alias Oncle Bob, développeur, auteur de nombreux livres sur le développement de logiciels, consultant, co-auteur du manifeste Agile, etc. Et il a ajouté : « Le formatage du code est une sorte de communication. Et la communication est une priorité absolue pour tout développeur professionnel. La déclaration ci-dessus ne doit pas être sous-estimée, car elle témoigne de l’une des caractéristiques les plus importantes d’un excellent développeur. Le code formaté vous permet de regarder profondément dans votre esprit. Nous voulons impressionner les gens par notre propreté, notre souci du détail, notre capacité à organiser et à exprimer clairement nos pensées. Mais si, lorsque les gens regardent le code, ils constatent une sorte de confusion, rappelant une vinaigrette, sans début ni fin, cela annule vos efforts et nuit à la réputation du développeur. N'en doutez même pas ! Vous êtes très loin de la vérité si vous pensez que l’essentiel dans ce métier est que « le code fonctionne ». La fonctionnalité que vous créez aujourd'hui sera très probablement modifiée dans la prochaine version, mais la lisibilité du code ne changera pas. Le style du code et sa bonne lisibilité facilitent la maintenance du code pendant une longue période, même après que le code original a été modifié au point de devenir méconnaissable.
N’oubliez jamais qu’à l’avenir, ce qui restera probablement dans les mémoires n’est pas votre code lui-même, mais votre style et votre cohérence. Assurez-vous donc que le code est bien formaté et suit des règles simples et compréhensibles par tous les membres de l’équipe.

Créez d'abord un bloc "try-catch-finally"

Georges Canguilhem (historien des sciences, philosophe) notait à juste titre : « Se tromper est naturel pour une personne, mais insister sur ses erreurs vient du diable . » Le dépannage est quelque chose que tous les programmeurs font. Des données non valides peuvent entrer dans l'entrée et les appareils peuvent tomber en panne. Et en tant que développeurs, nous devons nous assurer que le code fait ce qu'il est censé faire. Le problème n’est pas seulement la gestion des erreurs, mais une gestion des erreurs « propre et facile à lire ». De nombreux programmes s'adaptent à la gestion des erreurs. Si vous faites cela, tout sombre dans un tel chaos que le but et la logique du code principal sont détruits. C'est faux, ça ne devrait pas être ainsi. Le code doit être propre et fiable, et la gestion des erreurs doit être intégrée de manière transparente et naturelle dans le code. C'est un indicateur d'un programmeur de haut niveau. Et l’un des moyens d’y parvenir consiste à imbriquer et à couvrir correctement toutes les erreurs dans les blocs try-catch. Ces blocs définissent la portée de votre code. Lorsque vous exécutez du code dans la partie try d'un bloc try-catch-finally, vous indiquez que l'exécution peut être interrompue à tout moment puis reprendre dans un catch. Par conséquent, nous vous recommandons de commencer par try-catch-finally lorsque vous écrivez du code. Cela aidera à déterminer ce que l'utilisateur peut attendre du code, quel que soit le problème rencontré avec le code lors de l'essai.
N'oubliez jamais que chaque exception que vous lancez doit contenir suffisamment de contexte pour déterminer l'emplacement et la source de l'erreur. Les messages d'erreur créatifs et informatifs sont mémorisés longtemps après l'écriture du code, même lorsque le programmeur est déjà occupé avec des tâches complètement différentes.
code propre

Résumons-le

Une phrase inhabituelle nous aidera à résumer tout ce qui précède. Il s’agit du sens du code ou « un sens du code commun », une sorte d’équivalent du bon sens pour les programmeurs. Selon les mots de Robert Martin : « Écrire du code propre nécessite l’utilisation systématique de nombreuses petites techniques, appliquées grâce à un sentiment de « propreté » méticuleux et quelque peu douloureux. Ces petites techniques sont collectivement appelées code-sense . » Certains d’entre nous ont dès le départ ce « sens du code sonore », tandis que d’autres doivent le développer grâce à une pratique persistante. Cet instinct aide non seulement à reconnaître la différence entre un mauvais et un bon code, mais contribue également à la formation de stratégies visant à transformer le mauvais code en bon. Un mauvais code gâche tout. Au sens figuré, si vous glacez le gâteau le plus délicieux avec de la merde de chien, alors... euh... presque personne ne l'aimera. Le sens du code aide un programmeur à utiliser les bons outils pour atteindre son objectif de créer un code propre. Un programmeur qui comprend ce qu'est le sens du code est un artiste capable de créer une œuvre d'art sur un écran vide dont on se souviendra pendant de nombreuses années. Comme le résume Harold « Hal » Abelson, professeur d’informatique au Mit et directeur fondateur de Creative Commons et de la Free Software Foundation : « Les programmes doivent d’abord être écrits pour que les gens puissent les lire, puis pour qu’ils puissent être utilisés. exécuté." voiture" . Ce que vous pouvez lire sur le sujet : « Un manuel d'artisanat logiciel agile » - Robert Martin. « Un manuel d'estimation Agile » - Mike Cohn À propos de l'auteur : Ravi Shankar Rajan est un responsable de programme informatique mondial basé à Mumbai (Inde). Célèbre blogueur, poète haïku, passionné d'archéologie et d'histoire. Vous pouvez vous connecter avec lui sur Twitter , Medium , LinkedIn
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION