Complexité du Code
Une mesure quantitative de la difficulté à comprendre, tester et maintenir le code, basée sur des facteurs comme les branchements, la profondeur d'imbrication et les dépendances.
Definition
La complexité du code est mesurée par diverses métriques: Complexité Cyclomatique (nombre de chemins indépendants), Complexité Cognitive (mesure de compréhensibilité de Sonar), métriques Halstead (basées sur opérateurs et opérandes), et Lignes de Code. Une complexité élevée corrèle avec des taux de défauts plus élevés et des temps de développement plus longs.
Pourquoi c'est important
Les études montrent que les fonctions avec une complexité cyclomatique >10 ont 4x plus de chances d'avoir des bugs. Le code complexe est difficile à tester (nécessite plus de cas de test), réviser (facile de manquer des problèmes) et modifier (risque élevé de régression).
Exemple
Une fonction avec 15 branches if/else, 4 boucles imbriquées et 3 blocs try/catch a une complexité élevée. Refactoriser en fonctions plus petites et focalisées avec des responsabilités claires réduit la complexité.