Tout d'abord, pourquoi écrire du code propre? Pour le déboguer facilement. Pour mieux le réutiliser. Pour éviter les effets secondaires quand le code changera. Pour gagner du temps plus tard. Les raisons ne manquent pas.
Et comment écrit-on du code propre? Voici une liste sommaire de pratiques, celles que je juge les plus faciles à appliquer.
1) Une ligne de code = une phrase
En décrivant à haute voix ce que fait la ligne de code, obtenez-vous un mot, une phrase ou un paragraphe? Une bonne ligne de code équivaut à une phrase en langage humain. Si la plupart des lignes sont comme des mots, le code sera long pour rien. Si certaines lignes sont des paragraphes, le code sera incompréhensible.
2) Single Responsibility Principle (SRP)
Le principe de responsabilité unique. Une méthode fait une action. Pas deux. Une. Quand la méthode fait plus qu'une action, on doit la séparer en plusieurs méthodes. C'est correct si une des méthodes en appelle une autre.
3) Don't Repeat Yourself (DRY)
Ou en français, RTP : répète-toi pas. Quand le même bout de code se répète, il devrait probablement être dans une nouvelle méthode.
4) Noms précis et sensés de variables et méthodes
Il s'agit de résister à la tentation de donner à ses variables des noms d'oiseaux lorsqu'on manque d'inspiration, pour utiliser un exemple complètement fortuit pas du tout extrait de ma vie au baccalauréat en physique.
Plus couramment, il faut aussi résister aux termes vagues comme manage et compute dans les noms de méthodes. La sagesse logicielle veut que ces termes soient un signe que la méthode en fait trop et doit être séparée en plusieurs méthodes à responsabilité unique. Ça revient à ce qu'on disait plus haut à propos du principe de responsabilité unique.
5) Lignes de 72 caractères ou moins
Il n'y a pas de médaille pour la plus longue ligne de code. Une ligne de plus de 72 caractères nécessitera de dérouler horizontalement, ce qui est exaspérant, d'autant plus que c'est évitable. On veut être capable de tout regarder d'un coup d'oeil autant que possible. Cette mauvaise pratique est surprenamment courante et surprenamment facile à éviter.
Et si on pouvait éliminer 80 % du code spaghetti en éliminant 20 % des mauvaises pratiques de code?