À retenir
- C'est un code indispensable au fonctionnement d'une entreprise mais difficile à faire évoluer.
- Son principal danger est la perte de connaissance (les experts du sujet partent ou oublient).
- Un code sans tests automatisés est souvent considéré comme « hérité » dès sa mise en production.
Le code hérité désigne un logiciel ou une portion de programme qui repose sur des technologies, des langages ou des méthodes de travail considérés comme anciens ou dépassés. C'est un peu comme une vieille installation électrique dans une maison : elle fonctionne toujours et alimente tout le foyer, mais plus personne ne sait exactement comment les câbles sont branchés, ce qui rend toute modification risquée.
Étymologie
Traduction directe de l'anglais legacy code. Le terme legacy (héritage) souligne que ce code est un patrimoine transmis par les développeurs précédents. Dans l'industrie, il a fini par désigner tout code dont la maintenance devient difficile car il n'est plus conforme aux standards modernes ou manque de tests automatisés.
Exemples d'usage
- Un système de gestion bancaire écrit en langage COBOL dans les années 80 et toujours utilisé aujourd'hui.
- Une application web développée avec une version de PHP qui n'est plus supportée par les serveurs actuels.
- Un script de pilotage de machine industrielle dont le créateur est parti à la retraite sans laisser de documentation.
Cas d'usage
On rencontre le code hérité principalement dans les grandes organisations (banques, assurances, administrations) où le coût et le risque de tout remplacer sont trop élevés. Il intervient également lors de projets de refactorisation, où l'on cherche à moderniser une application par petites étapes sans l'arrêter.
Bonnes pratiques
Ne jamais essayer de tout réécrire d'un coup (le syndrome de la page blanche est risqué). La meilleure approche consiste à ajouter des tests automatisés autour du code existant avant de le modifier, afin de s'assurer que l'on ne casse rien. Il est aussi crucial de documenter les découvertes faites lors de l'analyse du vieux code.
Synonymes
Antonymes
Conseil
Si vous devez travailler sur du code hérité, ne soyez pas frustré par son aspect archaïque. Apprenez à lire le code comme on étudie l'archéologie : chaque ligne bizarre a probablement été écrite pour corriger un bug spécifique à une époque donnée. La patience et les tests sont vos meilleurs outils.
Questions fréquentes
Le code hérité est-il forcément du mauvais code ?
Pas du tout. C'est souvent un code robuste qui a fait ses preuves pendant des années. Il est simplement devenu complexe à maintenir à cause du décalage technologique.
Pourquoi ne pas simplement tout supprimer et recommencer ?
Parce que le code hérité contient souvent des milliers de règles de gestion spécifiques accumulées au fil du temps qu'il serait trop long et trop coûteux de redécouvrir et de recoder.