Coder proprement

code.jpg

Tout script compliqué à lire ou à comprendre peut nécessairement être simplifié, amélioré, refactoré. Voici quelques piliers qui concourent à la qualité du code :

  • Noms significatifs et clairs Choisir des noms ou groupes nominaux pour les classes (ex : Customer), des verbes pour les méthodes (ex : deletePage), des noms de variables en fonction de leur rôle (ex : $ip_visiteur), contextualiser autant que possible pour éviter les déductions (ex : stateAdress plutôt que state tout court, ou state dans une classe Address) ; éviter les abréviations ; un même nom ne doit jamais avoir deux usages.
  • Fonctions courtes ; classes et méthodes aussi Les fonctions ne doivent faire qu'une et une seule chose. Il convient de les écourter au maximum (~5 lignes) ; d'éviter les indentations à plus de 2-3 niveaux et de les faire se succéder comme une suite d'articles dans un journal. Les méthodes (~20 lgn) et les classes (~200 lgn) doivent être également aussi courtes que possible.
  • Commentaires Commenter ce qui mérite d'être clarifié ; expliciter les actions commises par des parties de code (sens général).
  • Lisibilité : indentation du code et espacement des rubriques Pour la lisibilité du code, saisir une instruction par ligne. Les blocs d'instruction ou les fonctions doivent être séparés par des lignes ou des espaces permettant de segmenter le code en rubriques. L'indentation doit être claire et chaque accolade fermante doit être verticalement alignée à l'instruction défi nissant l'accolade ouvrante correspondante.
  • Exceptions et non codes de retour Les codes de retour obligent à créer des structures conditionnelles qui ne sont pas nécessairement lues et alourdissent l'algorithme. Préférer les exceptions qui, de surcroît, alimentent les logs.
  • Tests unitaires propres Ils doivent être aussi propres que le code en production !
  • Classes évolutives Penser à ce qui peut être hérité pour ne pas avoir à tout réadapter.
  • Règle du boy scout "Laissez toujours le code un peu plus propre que vous l'avez trouvé en sortant " ;-)

Sources

Enregistrer