Tout le monde peut écrire du code que la machine peut comprendre mais seul les bons développeurs sont capable d’écrire du code compréhensible par les humains. Martin Fowler
Voilà une citation qui résume en gros le sujet de cet article. Il existe plusieurs façons d’arriver au même résultat c’est clair mais le chemin le plus court n’est pas toujours le meilleur. Il existe des façons de coder qui compliquent littéralement la maintenance du code et voire son évolution. Comme le disait Martin Golding, il faut toujours coder comme si celui qui allait maintenir votre code était un psychopathe violent qui sait où vous vivez, en somme il faut s’appliquer.
De même, il faut beaucoup plus d’efforts pour écrire du code propre. L’écriture d’un code propre est un travail difficile. Il a besoin de beaucoup de pratique et de concentration pendant l’exécution.
Pour être en mesure d’écrire le code propre, vous devriez former votre esprit sur une période de temps. La partie la plus difficile est tout simplement les débuts, mais plus le temps passe, votre niveau de compétence s’améliore, il devient plus facile. Écrire du code propre concerne très généralement la lisibilité, donc même les plus petites choses comme changer vos habitudes pour nommer les variables font une grande différence.
Exemples simples de comment rendre un code lisible
Donnez des noms qui permettent de deviner le contenu de la variable
//Mauvais protected $d; // elapsed time in days //Bon protected $elapsedTimeInDays; protected $daysSinceCreation; protected $daysSinceModification; protected $fileAgeInDays;
Utiliser des noms prononçables
//Mauvais public $genymdhms; public $modymdhms; //Bon public $generationTimestamp; public $modificationTimestamp;
Utiliser des verbes et des noms
Quand vous coder en langage orienté objet (ou procédurale même), utilisez des verbes pour les noms de fonctions et des noms pour les attributs. En effet une fonction avec pour nom un verbe explique directement le role de la fonction et le nom de l’attribut défini directement son contenu, plus besoin donc de commenter.
class Product { private $prix; public function augmenterPrix($prix) { $this->prix += $prix; } }
La suite ne se fera pas attendre…