Complexité cyclomatique
Elle compte les chemins indépendants qui traversent une fonction, ce qui revient en pratique au nombre de if plus un.
Thomas McCabe a défini cette mesure en 1976 comme le nombre de chemins linéairement indépendants dans le graphe de flot de contrôle d'un programme. Le raccourci utile consiste à compter les points de décision : chaque if, while, case et opérateur logique en ajoute un. Le chiffre correspond aussi au nombre minimal de cas de test nécessaires pour couvrir toutes les branches, ce qui était l'objectif initial de McCabe.
Comme outil, la métrique est grossière. Elle est fortement corrélée au nombre de lignes, si bien qu'elle dit rarement quelque chose qui ne se voyait pas déjà, et on peut la faire baisser en extrayant des fonctions auxiliaires sans rendre l'ensemble plus lisible. Son intérêt est de repérer les cas aberrants : la fonction à complexité 60 mérite toujours un coup d'œil, quelle que soit la valeur de la mesure par ailleurs.