10 astuces pour écrire du code plus propre
Comment apprendre à programmer sans être stressé Comment apprendre à programmer sans stress Vous avez peut-être décidé de vous lancer dans la programmation, que ce soit pour une carrière ou pour votre loisir. Génial! Mais peut-être que vous commencez à vous sentir dépassé. Pas si bien. Voici de l'aide pour faciliter votre voyage. Lire la suite . C'est une chose d'apprendre les langues et d'étudier les algorithmes, mais c'est une toute autre bête qui essaie de coder une application complexe et qui ne vous donne pas envie de vous quitter les yeux.
D'une certaine manière, écrire du code propre ressemble beaucoup au dessin, à la cuisine ou à la photographie 5 Des loisirs créatifs qui feront de vous un homme plus heureux 5 Des loisirs créatifs qui vous rendront plus heureux Un débouché créatif approprié peut faire des merveilles pour votre santé mentale et votre environnement. bonheur. Voici quelques loisirs créatifs qui ont fait leurs preuves dans ce domaine. Lire la suite - il semble plus facile que c'est en réalité. 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 certains segments font réellement et plus de temps à corriger, réviser, étendre, etc..
- Les idées sont plus clairement communiquées. Si vous travaillez avec d'autres programmeurs, un code propre réduit le risque de malentendus entre vous tous, ce qui signifie également moins de bogues à long terme..
Voici comment vous pouvez commencer à écrire du code propre.
1. Utilisez 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 réfléchit vraiment, ces choses ne sont rien d'autre 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 des variables, des classes et des 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
réellement méchant? Qui sait. Vous auriez probablement à lire la totalité du code pour procéder à une ingénierie inverse. D'autre part, le sens d'une variable comme distanceEntreXY
est instantanément reconnaissable.
La même chose est vraie pour les classes et les fonctions. Ne vous contentez pas de CalcTan ()
quand vous pouvez aller chercher CalculateTangent ()
ou CalcTangentAngle ()
au lieu.
2. Donner à chaque classe / fonction un objectif
Avez-vous déjà jeté un coup d'œil à l'intérieur d'une fonction comportant des centaines voire des milliers de lignes? Si vous l’avez fait, alors vous savez à quel point il peut être difficile de parcourir, de comprendre et d’éditer. Les commentaires peuvent aider, mais seulement dans une mesure limitée.
“La programmation consiste à diviser une grosse tâche impossible en plusieurs petites tâches possibles.”
- Jazzwant
Le code propre est divisé en morceaux atomiques. Chaque fonction doit avoir pour objectif de faire une seule chose et chaque classe doit avoir pour objectif de représenter un concept particulier. Ceci est une simplification bien sûr, mais en cas de doute, plus simple est plus propre.
En pratique, un calcul complexe comme GetCreditScore ()
avoir besoin d’être divisé en plusieurs fonctions d’aide telles que GetCreditReports ()
, ApplyCreditHistoryAge ()
, et Filtrer les marques en suspens ()
.
3. Supprimer le code inutile
Cette mauvaise habitude en est une avec laquelle je lutte encore de temps en temps. Cela se produit généralement comme ceci: je veux corriger ou optimiser un morceau de code, je le commente puis je réécris juste en dessous - et même si cela fonctionne, je conserve l'ancien code au cas où.
“Est-il possible que le logiciel ne ressemble à aucune autre chose, qu'il soit censé être jeté au rebut: le but est de toujours le voir comme une bulle de savon?”
- Alan J. Perlis
Au fil du temps, j'accumule un grand nombre de blocs de code commentés qui ne sont plus nécessaires mais qui encombrent mes fichiers source.. Et ce qui est amusant, c'est que dans de nombreux cas, le code environnant a évolué et que le code commenté ne fonctionne pas, même s'il est restauré..
La chose est, cette pratique de commenter “code de sauvegarde” a été rendu obsolète par le contrôle de source. Si vous n'utilisez pas Git ou Mercurial, vous devez commencer immédiatement à utiliser le contrôle de source. Qu'est-ce que Git et pourquoi utiliser le contrôle de version si vous êtes développeur? Qu'est-ce que Git et pourquoi utiliser le contrôle de version si vous utilisez? Devenir développeur En tant que développeurs Web, nous avons souvent tendance à travailler sur des sites de développement locaux, puis nous mettons tout simplement en ligne lorsque nous avons terminé. C'est bien quand c'est juste vous et que les changements sont petits,… Lire la suite. Un code plus propre vous attend.
4. Lisibilité> Intelligence
Trop de programmeurs se confondent “code propre” avec “code intelligent”, comme si compacter dix lignes en une seule était en quelque sorte plus propre. Bien sûr, cela prend moins de place à l'écran, mais est-ce vraiment plus facile à comprendre? Parfois, peut-être. Mais la plupart du temps? Non.
“Tout le monde sait que déboguer est deux fois plus difficile que d'écrire un programme. Donc, si vous êtes aussi intelligent que vous le pouvez lorsque vous l'écrivez, comment allez-vous le déboguer??”
- Brian W. Kernighan
Je pense que les programmeurs aiment le code intelligent, car il ressemble à un casse-tête 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 vierge, vous devez laisser votre ego à la porte.
Optimisez toujours le code pour la prochaine personne qui va la lire, car il est fort probable que la prochaine personne deviendra réellement VOUS et qu'il n'y a rien de plus honteux que d'être incapable de lire ou de comprendre votre propre intelligence..
5. Gardez un style de codage cohérent
Je n'ai rien contre les bons tutoriels de programmation Qu'est-ce qui fait un bon tutoriel de programmation? Qu'est-ce qui fait un bon tutoriel de programmation? Tous les tutoriels de programmation ne sont pas égaux. Certains profitent à vous et d'autres finissent par perdre votre temps. Voici ce qu’il faut rechercher dans un tutoriel de programmation de qualité. En savoir plus, mais l’un des inconvénients est que les débutants finissent par prendre une grande variété d’habitudes contradictoires, 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 voulez faire précéder les appels de méthode avec des espaces, c'est 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 vaut mieux que moche.
Explicite vaut mieux qu'implicite.
Simple c'est mieux que complexe.
Complexe vaut mieux que compliqué.
Flat est mieux que niché.
Clairsemé est mieux que dense.
La lisibilité compte.
- Tim Peters, Le zen de python
Si vous allez utiliser camelCaseNaming
pour les variables, ne le falsifiez pas avec underscore_naming
. Si tu utilises GetThisObject ()
au même endroit, n'allez pas avec FetchThatObject ()
ailleurs. Et si vous mélangez des tabulations et des espaces, vous méritez que votre clavier soit retiré.
Décidez ce que vous allez faire dès le départ et respectez-le jusqu'au bout. Certaines langues, telles que Python et C #, ont des guides de style que vous voudrez peut-être suivre..
6. Choisissez la bonne architecture
Il existe de nombreux paradigmes et architectures que vous pouvez utiliser pour créer vos projets. Notez comment cette astuce concerne la sélection du droite un pour vos besoins, pas sur la sélection du meilleur un là-bas. Il n'y a pas “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 MVC (Model-View-Controller) est très populaire actuellement 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 ECS (Entity-Component-System) est très populaire actuellement dans le développement de jeux, car il permet de modulariser les données et la logique du jeu de manière à faciliter la maintenance, tout en produisant un code plus facile à lire..
7. Maîtriser les idiomes de la langue
L'une des difficultés pour maîtriser un nouveau langage de programmation 7 Astuces utiles pour maîtriser un nouveau langage de programmation 7 Astuces utiles pour maîtriser un nouveau langage de programmation Vous pouvez vous sentir dépassé lorsque vous apprenez à coder. Vous oublierez probablement les choses aussi vite que vous les apprendrez. Ces conseils peuvent vous aider à mieux conserver toutes ces nouvelles informations. Lire plus, c'est apprendre les nuances qui le séparent de toutes les autres langues. Ces nuances peuvent faire la différence entre un code laid et compliqué et un code magnifique et facile à gérer..
Pensez à Python, Java et JavaScript. Ils sont tous extrêmement différents les uns des autres, à un degré qui nécessite un mode de pensée différent selon la langue que vous choisissez d'utiliser.
“Un langage qui n'affecte pas votre vision de la programmation ne vaut pas la peine d'être connu.”
- Alan J. Perlis
Tandis que Python est axé sur le code compact et la dactylographie, Java est plutôt du côté de la verbosité et de l’explicite. Chaque langue a des idiomes (tels que la compréhension de liste en Python) qui encouragent une certaine manière de coder. Vous feriez bien de les apprendre.
Il y a aussi “anti-modèles” vous inquiétez pas, qui sont essentiellement des modèles de conception non optimaux qui entraînent un code inefficace, peu fiable ou autrement mauvais. Etudiez et désapprouvez tous les anti-modèles communs liés à la langue de votre choix.
8. Etudier le code des maîtres
Si vous voulez écrire du code propre, la meilleure chose à faire est de voir à quoi ça ressemble et d'essayer de comprendre pourquoi il en est ainsi. Il n'y a pas de meilleure façon de le faire que d'étudier les fichiers sources de l'industrie. maîtrise.
Évidemment, vous ne pouvez pas simplement visiter le siège de Microsoft et jeter un œil sur leurs projets, mais vous pouvez toujours parcourir des projets open source connus. Comment afficher et modifier le code source d'une application open-source Comment afficher et modifier le code source D'une application Open-Source Bien 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, pas seulement à cause du montant… Read More . Je ne sais pas par où commencer? Essayez les projets présentés sur Github.
“N'importe quel 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 l'une des raisons pour lesquelles les projets open source existent Pourquoi les gens contribuent-ils aux projets Open Source? Pourquoi les gens contribuent-ils à des projets Open Source? Le développement open source est l'avenir du logiciel. C'est formidable pour les utilisateurs car les logiciels open source sont généralement disponibles gratuitement et sont souvent plus sûrs à utiliser. Mais qu'est-ce qui oblige les développeurs à contribuer gratuitement au code? Lire la suite: afin que d'autres puissent apprendre d'eux. Et si vous décidez de contribuer à un tel projet, cela peut accélérer le processus d'apprentissage. 5 Idées de projet pour vous aider à apprendre plus rapidement en programmation 5 Idées de projet pour vous aider à apprendre plus rapidement de programmation Il existe plusieurs façons de simplifier l'apprentissage. Mettez la main à la pâte et apprenez plus vite avec les projets annexes que vous pouvez commencer à tout moment. Jouez avec ces cinq. Lire la suite .
Personnellement, la toute première fois que j'ai vu un code vraiment propre, c’est lorsque j’ai trébuché sur le projet open source Python d’un certain amateur. Le code était tellement élégant et élégant que j'ai failli arrêter de programmer, mais il a fini par m'apprendre beaucoup.
9. Écrire de bons commentaires
“Ecrire de bons commentaires” est le conseil le plus ancien du monde de la programmation. En fait, dès que les débutants sont initiés aux commentaires, ils sont plutôt encouragés à commenter aussi souvent qu'ils le peuvent..
Mais on a presque l'impression d'avoir basculé trop loin dans la direction opposée. Les débutants, en particulier, ont tendance à trop commenter - décrivant des choses qui n’ont pas besoin d’être décrites et qui manquent le point de savoir ce qu’il faut faire. “bon commentaire” est en fait.
“Codez toujours comme si le gars qui finissait par maintenir votre code serait un psychopathe violent qui sait où vous habitez.”
- John Woods
Voici une bonne règle de base: il existe des commentaires pour expliquer POURQUOI un morceau de code existe plutôt que CE QUE le code fait réellement. Si le code est écrit avec suffisamment de netteté, il devrait expliquer lui-même ce qu'il fait - le commentaire devrait éclairer l'intention derrière la raison pour laquelle il a été écrit.
Les commentaires peuvent être utiles pour les avertissements (c.-à-d.. “enlever cela cassera A, B et C”) mais, dans la plupart des cas, il faut découvrir des choses qui ne peuvent pas être immédiatement extraites du code (i.e. “utilise ce paramètre car 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 d’aboutir à un code intempestif. C’est donc, à bien des égards, le conseil le plus important à considérer..
En bref, la refactorisation est juste un terme sophistiqué 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 le reformuler pour rendre cette compréhension plus immédiatement apparente..”
- Martin Fowler, Refactoring: Améliorer la conception du code existant
Le dicton est un peu de sagesse qui me tient, “Ne commentez pas le mauvais code. Le réécrire.” Comme l'explique Fowler dans la citation ci-dessus, si le code vous semble suffisamment déroutant pour que vous deviez le commenter, vous devez peut-être le reformuler..
De plus, lorsque vous éditez 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é pour la première fois. Cela peut sembler une nuisance pour le moment, mais cela rapportera à long terme (et pourra même empêcher l’épuisement mental. Burnout de programmation: comment retrouver votre motivation perdue? Burnout de programmation: comment retrouver votre motivation perdue. le code peut être épuisant physiquement et émotionnellement, il suffit de prendre conscience que la motivation peut être retrouvée..
Il y a toujours quelque chose de nouveau à apprendre
Un programmeur qui apprend à écrire du code propre ressemble à un romancier qui apprend à écrire de la prose propre: il n’ya pas de bonne façon de le faire, mais il y a beaucoup de mauvaises façons de le faire, et cela prendra années à maîtriser.
Certaines personnes n'ont pas ce qu'il faut et finissent par abandonner la programmation pour de bons 6 signes qui indiquent que vous n'êtes pas censé être programmeur. 6 qui indiquent que vous ne devez pas être programmeur. Tout le monde n'est pas fait pour être programmeur. Si vous n'êtes pas complètement sûr d'être censé être un programmeur, voici quelques signes qui peuvent vous orienter dans la bonne direction. En savoir plus - et c'est bien parce qu'il y a beaucoup d'autres travaux techniques qui n'impliquent pas le codage Le codage n'est pas pour tout le monde: 7 emplois techniques que vous pouvez obtenir sans lui Le codage n'est pas pour tout le monde: 7 emplois techniques que vous pouvez obtenir sans Ne vous découragez pas si vous souhaitez faire partie du domaine de la technologie - il existe de nombreux emplois pour les personnes qui ne savent pas coder! Lire la suite .
Mais pour tous les autres, le code propre est une chose à laquelle il faut absolument s’attacher, même si cela prend le reste de votre vie pour y arriver..
Quelle importance a le code propre pour vous? Quelles règles suivez-vous pour garder votre code propre et organisé? Avez-vous d'autres idées à partager? Faites-nous savoir dans les commentaires ci-dessous!
En savoir plus sur: Programmation.