Publicité

Sans aucun doute, la programmation est difficile. C’est une chose apprendre les langues et étudier algorithmes, mais c'est une toute autre bête qui essaie de coder une application de travail complexe qui ne vous donne pas envie de vous arracher les yeux.

D'une certaine manière, écrire du code propre ressemble beaucoup au dessin, à la cuisine ou à la photographie - cela semble plus facile qu'il ne l'est réellement. Alors pourquoi s'embêter? Eh bien, parce que les avantages en valent la peine:

  • Les problèmes deviennent plus faciles à résoudre. Une fois que vous commencez à penser en code propre, votre approche de la résolution de problèmes change. Au lieu de solutions de forçage brutal, vos algorithmes et votre conception de logiciels deviennent plus élégants et intentionnels.
  • Moins de temps perdu en maintenance. Le code propre est plus facile à lire et à comprendre, vous passez donc moins de temps à essayer de comprendre ce que font réellement certains segments et plus de temps à corriger, réviser, étendre, etc.
  • instagram viewer
  • Les idées sont communiquées plus clairement. Si vous travaillez avec d'autres programmeurs, un code propre réduit la probabilité de malentendus entre vous tous, ce qui signifie également moins de bogues à long terme.

Voici comment VOUS pouvez commencer à écrire du code propre.

1. Utiliser des noms descriptifs

Que sont les variables, les classes et les fonctions? Il y a plusieurs façons de répondre à cela, mais quand on y pense vraiment, ces choses ne sont rien de plus que l'interface entre un programmeur et la logique sous-jacente d'une application.

Ainsi, lorsque vous utilisez des noms peu clairs et non descriptifs pour les variables, les classes et les fonctions, vous obscurcissez essentiellement la logique d'application de tout programmeur qui lit le code, y compris vous-même.

"Je ne suis pas un grand programmeur; Je suis juste un bon programmeur avec de bonnes habitudes. "
- Kent Beck

Qu'est-ce qu'une variable nommée dxy signifie vraiment? Qui sait. Vous auriez probablement besoin de lire l'intégralité du morceau de code pour inverser sa signification. D'un autre côté, la signification d'une variable comme distanceBetweenXY est instantanément reconnaissable.

Il en va de même pour les classes et les fonctions. Ne vous contentez pas de CalcTan () quand tu peux partir CalculateTangent () ou CalcTangentAngle () au lieu.

2. Donnez à chaque classe / fonction un objectif

Avez-vous déjà jeté un œil à l'intérieur d'une fonction qui faisait des centaines, voire des milliers de lignes? Si c'est le cas, vous savez à quel point il peut être pénible de parcourir, de comprendre et de modifier. Les commentaires peuvent aider, mais seulement dans une mesure limitée.

«La programmation consiste à diviser une grande tâche impossible en plusieurs petites tâches possibles.»
- Jazzwant

Le code propre est décomposé en morceaux atomiques. Chaque fonction doit viser à faire une seule chose et chaque classe doit viser à représenter un concept particulier. C'est une simplification bien sûr, mais en cas de doute, plus simple est plus propre.

En pratique, un calcul complexe comme GetCreditScore () peut avoir besoin d'être divisé en plusieurs fonctions d'aide comme GetCreditReports (), ApplyCreditHistoryAge (), et FilterOutstandingMarks ().

3. Supprimer le code inutile

Cette mauvaise habitude est celle avec laquelle je lutte toujours de temps en temps. Cela se produit généralement comme ceci: je veux corriger ou optimiser un morceau de code, donc je le commente et fais une réécriture juste en dessous - et même si cela fonctionne, je garde l'ancien code là juste au cas où.

"Est-il possible que le logiciel ne ressemble à rien d'autre, qu'il soit destiné à être jeté: que le but est de toujours le voir comme une bulle de savon?"
- Alan J. Perlis

Au fil du temps, j'accumule beaucoup de blocs de code commentés qui ne sont plus nécessaires et qui encombrent mes fichiers source. Et le plus drôle, c'est que dans de nombreux cas, le code environnant a évolué de sorte que le code commenté ne fonctionnerait pas même s'il était restauré.

Le fait est que cette pratique de commenter le «code de sauvegarde» a été rendue obsolète par le contrôle des sources. Si vous n'utilisez pas quelque chose comme Git ou Mercurial, vous devez commencer à utiliser le contrôle de source tout de suite. Un code plus propre vous attend.

N'oubliez pas, il est également important d'éviter d'écrire du code répétitif, ce que vous pouvez accomplir facilement avec une infrastructure Web. Voici quelques-uns frameworks Web à découvrir en tant que développeur 5 Cadres Web à apprendre pour les développeursIntéressé à apprendre le développement Web avancé? Évitez d'écrire à la place la codeuse répétitive de ces cadres de développement Web. Lire la suite .

4. Lisibilité> Astuce

Trop de programmeurs confondent «code propre» et «code intelligent», comme si le compactage de dix lignes en une seule était en quelque sorte plus propre. Bien sûr, cela prend moins de place à l'écran, mais est-il réellement plus facile à comprendre? Parfois, peut-être. Mais la plupart du temps? Non.

«Tout le monde sait que le débogage est deux fois plus difficile que d'écrire un programme en premier lieu. Donc, si vous êtes aussi intelligent que possible lorsque vous l'écrivez, comment allez-vous le déboguer? "
- Brian W. Kernighan

Je pense que les programmeurs adorent le code intelligent, car il ressemble à un puzzle résolu ou à une énigme. Ils ont trouvé un moyen spécial et unique de mettre en œuvre quelque chose - un «raccourci» si vous voulez - et cela agit presque comme une validation des compétences du programmeur.

Mais pour écrire du code propre, vous devez laisser votre ego à la porte.

Optimisez toujours le code pour la prochaine personne qui va le lire, car selon toute probabilité, la prochaine personne est va vraiment être VOUS et il n'y a rien de plus honteux que d'être incapable de lire ou de comprendre le vôtre habileté.

5. Gardez un style de codage cohérent

j'ai rien contre de bons tutoriels de programmation Qu'est-ce qui fait un bon tutoriel de programmation?Tous les didacticiels de programmation ne sont pas identiques. Certains vous profitent et d'autres finissent par perdre votre temps. Voici ce qu'il faut rechercher dans un tutoriel de programmation de qualité. Lire la suite , mais l'un des inconvénients est que les débutants finissent par adopter une grande variété d'habitudes conflictuelles, en particulier en ce qui concerne le style de codage.

Je ne suis pas ici pour déclarer qu'un style est meilleur qu'un autre. Si vous voulez des accolades sur leurs propres lignes, allez-y. Si vous souhaitez faire précéder les appels de méthode par des espaces, très bien. Si vous préférez les tabulations aux espaces, ne me laissez pas vous convaincre du contraire.

Mais quoi que vous fassiez, restez cohérent!

Beau, c'est mieux que laid.
Explicite vaut mieux qu'implicite.
Simple, c'est mieux que complexe.
Complexe vaut mieux que compliqué.
L'appartement est meilleur que l'emboîtement.
Clairsemé vaut mieux que dense.
La lisibilité compte.
- Tim Peters, Le Zen de Python

Si vous allez utiliser camelCaseNaming pour les variables, ne pas les altérer avec underscore_naming. Si tu utilises GetThisObject () en un seul endroit, n'allez pas avec FetchThatObject () ailleurs. Et si vous mélangez les tabulations et les espaces, vous méritez d'avoir votre clavier enlevé.

Décidez de ce que vous allez faire dès le départ et respectez-le de bout en bout. Certains langages, comme Python et C #, ont des guides de style à l'échelle du langage que vous pouvez suivre.

6. Choisissez la bonne architecture

Il existe de nombreux paradigmes et architectures différents que vous pouvez utiliser pour créer vos projets. Notez comment cette astuce consiste à sélectionner droite un pour vos besoins, pas sur la sélection du meilleur un là-bas. Il n'y a pas de «meilleur» ici.

«Sans exigences ni conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.»
- Louis Srygley

Par exemple, le modèle Model-View-Controller (MVC) est très populaire en ce moment dans le développement Web car il permet de garder votre code organisé et conçu de manière à minimiser les efforts de maintenance.

De même, le modèle Entity-Component-System (ECS) est très populaire en ce moment dans le développement de jeux car il permet de modulariser les données et la logique du jeu d'une manière qui facilite l'entretien, tout en produisant du code plus facile à lis.

7. Maîtriser les idiomes de la langue

L'une des difficultés maîtriser un nouveau langage de programmation 7 astuces utiles pour maîtriser un nouveau langage de programmationIl est normal d'être dépassé lorsque vous apprenez à coder. Vous oublierez probablement des choses aussi vite que vous les apprenez. Ces conseils peuvent vous aider à mieux conserver toutes ces nouvelles informations. Lire la suite apprend les nuances qui le séparent de toutes les autres langues. Ces nuances peuvent faire la différence entre un code laid et alambiqué et un beau code facile à entretenir.

Considérez Python, Java et JavaScript. Ils sont tous extrêmement différents les uns des autres, à un degré qui nécessite une façon de penser différente selon la langue que vous choisissez d'utiliser.

"Un langage qui n'affecte pas votre façon de penser la programmation ne vaut pas la peine d'être connu."
- Alan J. Perlis

Alors que Python concerne le code compact et la frappe de canard, Java est plutôt du côté de la verbosité et de l'explicitness. Chaque langue a des idiomes (tels que les compréhensions de liste en Python) qui encouragent une certaine façon de coder. Vous feriez bien de les apprendre.

Il y a également des «anti-modèles» dont il faut s'inquiéter, qui sont essentiellement des modèles de conception sous-optimaux qui se traduisent par un code inefficace, peu fiable ou autrement mauvais. Étudiez et désapprenez tous les anti-schémas courants liés à la langue de votre choix.

8. Étudiez le code des maîtres

Si vous voulez écrire du code propre, la meilleure chose à faire est de voir à quoi ressemble le code propre et d'essayer de comprendre pourquoi il en est ainsi - et il n'y a pas de meilleure façon de le faire qu'en étudiant les fichiers source de maîtres de l'industrie.

De toute évidence, vous ne pouvez pas simplement vous rendre au siège de Microsoft et jeter un œil à leurs projets, mais vous pouvez toujours parcourir des projets open source bien connus Comment afficher et modifier le code source d'une application open sourceBien que l'open source puisse être un bon choix, vous devrez également investir dans la bonne communauté. GitHub est l'un des meilleurs endroits pour le faire, non seulement à cause de sa quantité ... Lire la suite . Je ne sais pas par où commencer? Essaie le projets présentés sur Github.

«Tout imbécile peut écrire du code qu'un ordinateur peut comprendre. Les bons programmeurs écrivent du code que les humains peuvent comprendre. »
- Martin Fowler, Refactoring: améliorer la conception du code existant

Après tout, c'est une des raisons pourquoi les projets open source existent Pourquoi les gens contribuent-ils aux projets Open Source?Le développement open source est l'avenir du logiciel. C'est génial pour les utilisateurs car les logiciels open source sont généralement disponibles gratuitement et souvent plus sûrs à utiliser. Mais qu'est-ce qui oblige les développeurs à contribuer du code gratuitement? Lire la suite : pour que d'autres puissent apprendre d'eux. Et si vous décidez de contribuer à un tel projet, il peut accélérer le processus d'apprentissage 5 idées de projets pour vous aider à apprendre une programmation plus rapideIl existe plusieurs façons de faciliter la courbe d'apprentissage de la programmation. Mettez la main à la pâte et apprenez plus vite avec des projets parallèles que vous pouvez démarrer à tout moment. Jouez avec ces cinq. Lire la suite .

Personnellement, la toute première fois que j'ai vu du code vraiment propre, c'est lorsque je suis tombé sur le projet Python open source d'un certain amateur. Le code était tellement élégant que j'ai failli quitter la programmation, mais il a fini par m'apprendre beaucoup.

9. Écrire de bons commentaires

«Écrire de bons commentaires» est le plus ancien conseil du monde de la programmation. En fait, dès que les débutants sont initiés aux commentaires, ils sont à peu près encouragés à commenter aussi souvent qu'ils le peuvent.

Mais on a presque l'impression que nous avons trop oscillé dans la direction opposée. Les débutants, en particulier, ont tendance à sur-commenter - en décrivant des choses qui n'ont pas besoin d'être décrites et en oubliant ce qu'est réellement un «bon commentaire».

"Codez toujours comme si le gars qui finit par maintenir votre code sera un psychopathe violent qui sait où vous vivez."
- John Woods

Voici une bonne règle de base: des commentaires existent pour expliquer POURQUOI un morceau de code existe plutôt que CE QUE fait réellement le code. Si le code est écrit de façon suffisamment claire, il devrait être explicite de ce qu'il fait - le commentaire devrait faire la lumière sur l'intention derrière pourquoi il a été écrit.

Les commentaires peuvent être utiles pour les avertissements (c.-à-d. «La suppression de cela cassera A, B et C»), mais pour la plupart, découvrir des choses qui ne peuvent pas être immédiatement glanées dans le code (c'est-à-dire "utilisez ce paramètre parce que X, Y et Z ”).

10. Refactor, Refactor, Refactor

Tout comme l'édition fait partie du processus d'écriture, la refactorisation fait partie du processus de codage. Une aversion pour le refactoring est le moyen le plus rapide de se retrouver avec du code non maintenable, donc à bien des égards, c'est en fait le conseil le plus important à considérer.

En bref, le refactoring n'est qu'un terme de fantaisie pour nettoyer le code sans affecter son comportement réel.

«Chaque fois que je dois réfléchir pour comprendre ce que fait le code, je me demande si je peux refactoriser le code pour rendre cette compréhension plus immédiatement apparente.»
- Martin Fowler, Refactoring: améliorer la conception du code existant

Un peu de sagesse qui m’a marqué est le dicton: «Ne commentez pas le mauvais code. Réécris-le. " Comme l'explique Fowler dans la citation ci-dessus, si le code vous semble assez confus pour que vous deviez le commenter, vous devrez peut-être le refactoriser.

De plus, lorsque vous modifiez des morceaux de code ici et là tout au long de votre projet, laissez toujours le code dans un meilleur état que lorsque vous l'avez trouvé. Cela peut sembler une nuisance pour le moment, mais cela portera ses fruits à long terme (et peut même éviter l'épuisement mental Programmation du burnout: comment retrouver votre motivation perdueÉcrire toutes ces lignes de code peut être épuisant physiquement et émotionnellement. Tout ce dont vous avez besoin pour vous relever est la prise de conscience que la motivation peut être retrouvée. Lire la suite ).

Il y a toujours quelque chose de nouveau à apprendre

Un programmeur qui apprend à écrire du code propre s'apparente à un romancier qui apprend à écrire de la prose propre: il n'y a pas une bonne façon de le faire en soi, mais il y a beaucoup de mauvaises façons de le faire, et il faudra des années pour Maître.

Certaines personnes n'ont pas ce qu'il faut et finissent par quitter définitivement la programmation 6 signes que vous n'êtes pas censé être programmeurTout le monde n'est pas conçu pour être programmeur. Si vous n'êtes pas complètement sûr d'être censé être programmeur, voici quelques signes qui peuvent vous orienter dans la bonne direction. Lire la suite - et ça va car il y a plein de d'autres emplois techniques qui n'impliquent pas de codage Le codage n'est pas pour tout le monde: 9 emplois technologiques dont vous pouvez vous passerNe vous découragez pas si vous voulez faire partie du domaine technologique. Il y a beaucoup d'emplois pour les gens sans compétences en codage! Lire la suite . Mais pour tout le monde, le code propre est quelque chose qui vaut vraiment la peine d'être recherché, même s'il vous faut le reste de votre vie pour y arriver.

Joel Lee a un B.S. en informatique et plus de six ans d'expérience en rédaction professionnelle. Il est le rédacteur en chef de MakeUseOf.