Does code decay ? Assessing the evidence from change management data

✒️ Enzo Sandré · 📆 26/01/2022 · 📜 Lois du développement · ♻️ Refactoring

☠️ Le code se décompose-t-il ? Pas au sens biologique, car il est une pure information, immuable. Cependant, tout développeur le sait, un code qui prend de l’âge devient plus difficile à éditer, coûte plus cher et se constelle de bugs. Ce phénomène est inévitable autant bien le connaître !

🩺Ses symptômes sont connus :

👉 Le code devient bouffi et complexe, les développeurs s’engluent dans des modifications interminables.

👉 Les bugs se multiplient et la satisfaction des utilisateurs baisse.

👉Les commits n’ont plus de cohérence (shotgun surgery)

👉 Les développeurs ne vont plus droit au but, ils beurdassent* le code pour espérer arriver à leurs fins.

🕳️ La décomposition du code doit alerter les développeurs : ignorer cette odeur est extrêmement dangereux et se soldera inévitablement par la mort du projet à moyen ou long terme. Si rien n’est fait, une part de plus en plus grande de la productivité de l’équipe ira dans le trou noir des intérêts de la dette, jusqu’à la paralysie complète.

♻️ Une lueur d’espoir persiste cependant : il existe une cure de jouvence facile d’accès qui se nomme refactoring.

* Traduction libre de « code churn » via ce verbe saintongeais. Amitiés aux québécois qui en ont hérité.

SOURCES

S. G. Eick, T. L. Graves, A. F. Karr, J. S. Marron and A. Mockus, « Does code decay? Assessing the evidence from change management data, » in IEEE Transactions on Software Engineering, vol. 27, no. 1, pp. 1-12, Jan. 2001, doi: 10.1109/32.895984.

Enzo Sandré


DOIs: 10.1109/32.895984