Code mort

Définition, exemples et bonnes pratiques

À retenir

  • Le code mort alourdit inutilement la taille des fichiers et la mémoire.
  • Il rend la lecture et la compréhension du programme plus difficiles pour les humains.
  • Son élimination automatique par le compilateur s'appelle la Dead Code Elimination (DCE).

Le code mort désigne des portions d'un programme informatique qui ne sont jamais activées lors de son exécution, ou dont le résultat n'est absolument pas utilisé par le reste du logiciel. On peut l'imaginer comme une branche morte sur un arbre : elle est présente physiquement, mais elle ne transporte plus de sève et ne sert plus à la croissance de l'ensemble.

Étymologie

Traduction directe de l'anglais dead code. Le terme souligne l'absence de « vie » (d'exécution) de ces lignes de code au sein du processus dynamique du logiciel.

Exemples d'usage

  • Une fonction écrite dans un script mais qui n'est appelée par aucune autre partie du programme.
  • Des instructions placées juste après un return (qui stoppe immédiatement la fonction).
  • Une variable à laquelle on donne une valeur, mais qui n'est jamais relue par la suite.
  • Un bloc if (false) { ... } dont le contenu ne pourra jamais être traité.

Cas d'usage

Le code mort apparaît souvent lors de phases de maintenance ou de refactorisation, quand un développeur remplace une ancienne logique par une nouvelle sans supprimer totalement l'ancienne. Il intervient également dans l'optimisation par le compilateur, qui cherche à le détecter pour l'éliminer afin d'alléger le programme final.

Bonnes pratiques

Il est recommandé d'utiliser des outils d'analyse statique (appelés linters) qui surlignent automatiquement le code inutile. Évitez de laisser du code « au cas où » en commentaire ou désactivé ; pour conserver un historique, fiez-vous plutôt à un outil de versionnage comme Git.

Synonymes

code redondant code inaccessible portion inutile

Antonymes

code vivant code actif code utile

Conseil

Si vous débutez, ne craignez pas de supprimer du code qui ne sert plus. Un code propre est un code minimaliste. Si vous avez peur de perdre un travail, assurez-vous simplement que votre projet est bien sauvegardé sur un dépôt comme GitHub ou GitLab.

Questions fréquentes

Le code mort ralentit-il mon logiciel ?

Pas forcément lors de l'exécution car il n'est pas lu, mais il peut ralentir la compilation et augmenter inutilement le poids du fichier final.

Est-ce un risque de sécurité ?

Oui, car du code oublié peut contenir des failles exploitables ou induire en erreur un développeur qui croirait que cette partie du programme est encore sécurisée et active.