Try and leave this code a little better than you found it !
Librement inspiré de la célèbre phrase du fondateur du scoutisme, Robert C. Martin propose sa version adaptée au craftsmanship : après votre passage, laisser le code dans un meilleur état que celui dans lequel vous l'avez trouvé.
"Try and leave this world a little better than you found it."
Robert Stephenson Smyth Baden-Powell - Message d'adieu à ses boy-scouts.
"If we all checked-in our code a little cleaner than we checked it out, the code simply could not rot."
Robert C. Martin - Clean Code
Appliquer cette règle de façon systématique à nos développements permet de lutter efficacement contre l'érosion architecturale.
Cette façon d'entretenir le code peut être rapproché du concept statistique proposé par la théorie de la vitre brisée.
Un exemple ? Imaginons une portion de code, une méthode, très bien écrite. Suite à une correction de bug, une verrue est mise en place. Aucune revue de code n'est effectuée. Le code part en production comme cela. La vie est ainsi faite. Quelques temps plus tard, une nouvelle évolution doit être effectuée sur cette portion de code. Trois cas sont alors possibles :
- la première verrue ne pose pas de problème de conscience au développeur qui doit mettre en place la nouvelle évolution, il insère sa nouvelle fonctionnalité comme il le peut autour de cette verrue
- le développeur, conscient de la laideur du code vérolé, effectue tout de même son propre développement autour de cette verrue et termine ainsi son développement à moindre effort dans un temps limité ; de toute façon le code et déjà pourri alors...
- le développeur, conscient de la laideur du code vérolé, passe un peu de temps à refactorer le code pour l'améliorer et peux ensuite ajouter son propre code
Ces 3 cas montrent bien la facilité à laisser le code dégénéré. Garder un code propre, voir l'améliorer, demande du courage, valeur chère aux extreme programmers. Cette dégénérescence est appelée software entropy ou smell code.
Pour conclure tout en restant dans le thème, voici une règle scout applicable également dans notre métier :
"Do a Good Turn Daily (fais une bonne action chaque jour)"
Boy scouts of America - Slogan
Scout toujours !