Inmaintenable

Définition, exemples et bonnes pratiques

À retenir

  • Engendre des coûts de développement qui explosent avec le temps.
  • Provoque une peur de la modification chez les développeurs (peur de casser le système).
  • Est souvent la conséquence d'un manque de temps ou de rigueur lors de la création initiale.

Qualifie un code informatique ou un système si complexe, mal structuré ou obsolète qu'il devient extrêmement difficile, coûteux ou risqué de le modifier. C'est l'équivalent d'un tas de fils électriques totalement emmêlés : si vous tirez sur l'un d'eux pour changer une ampoule, vous risquez de couper l'électricité dans toute la maison.

Étymologie

Dérivé du mot maintenable avec le préfixe privatif in-. En informatique, ce terme est intimement lié au concept de dette technique, désignant le prix à payer pour avoir choisi des solutions rapides mais brouillonnes par le passé.

Exemples d'usage

  • Un programme de 10 000 lignes écrit sans aucun commentaire ni documentation pour expliquer son fonctionnement.
  • Une application mobile utilisant des technologies vieilles de 15 ans qui ne sont plus compatibles avec les téléphones modernes.
  • Un site web dont les noms de variables sont incompréhensibles (ex: var a = x + y2;).

Cas d'usage

Ce concept intervient principalement en développement logiciel lorsqu'une équipe doit reprendre le travail d'une autre, ou lors des phases d'audit technique pour décider si un logiciel doit être jeté et réécrit de zéro.

Bonnes pratiques

Pour éviter qu'un projet ne devienne inmaintenable, il faut adopter des standards de codage stricts, tester son code automatiquement, et pratiquer le refactoring (nettoyage régulier du code) avant que la complexité ne devienne ingérable.

Synonymes

code spaghetti ingérable obsolète legacy

Antonymes

maintenable évolutif propre pérenne

Conseil

Quand vous débutez, écrivez toujours votre code comme si la personne qui allait le relire était un maniaque violent qui sait où vous habitez. La clarté prime sur l'astuce technique.

Questions fréquentes

Un code moche est-il forcément inmaintenable ?

Pas toujours, mais c'est un signe précurseur. Si le code fonctionne mais que personne ne comprend comment, il est considéré comme inmaintenable.

Comment savoir si mon projet devient inmaintenable ?

Si l'ajout d'une fonction simple prend des jours et crée systématiquement de nouveaux bugs ailleurs, vous y êtes.