Paritian

Développement

Calculatrice d'Indice de Maintenabilité (Halstead, Complexité Cyclomatique, Lignes de Code)

L'indice de maintenabilité d'une fonction, classe ou fichier d'après son volume de Halstead, sa complexité cyclomatique et ses lignes de code, sur l'échelle d'origine et sur l'échelle 0–100 de Visual Studio.

Résultats

Indice de maintenabilité (échelle d'origine) 52,7
Indice de maintenabilité (0–100, comme dans Visual Studio) 31
Classement (bandes de Visual Studio) Bonne maintenabilité (20–100)
Comment cela varie
Indice de maintenabilité (0–100, comme dans Visual Studio)Lignes de code 10 – 500. Indice de maintenabilité (0–100, comme dans Visual Studio): 54,333 → 17,2717Indice de maintenabilité (0–100, comme dans Visual Studio)0204060100200300400500Lignes de code

La ligne en pointillé marque la valeur que vous avez saisie.

Ce que fait cet outil

L'indice de maintenabilité est un nombre unique construit à partir de trois mesures : MI = 171 − 5,2 ln(V) − 0,23 G − 16,2 ln(LOC), issu des travaux d'Oman et Hagemeister dans les années 90. Avec les logarithmes, doubler les lignes de code coûte environ 11 points, alors que chaque chemin de décision supplémentaire coûte peu. Visual Studio le ramène à 0–100, plancher à zéro, et affiche vert dès 20, jaune dès 10 et rouge en dessous de 10. C'est un repère grossier, utile pour repérer les pires cas d'une base de code, et qui ne dit rien de la justesse ou de la qualité de conception du code.

Formule

MI = 171 − 5,2 ln V − 0,23 G − 16,2 ln LOC · indice de Visual Studio = max(0, MI × 100 ÷ 171) (V = volume de Halstead, G = complexité cyclomatique)

Variables

SymboleSignificationUnité
vVolume de Halstead du code—
cxComplexité cyclomatique—
locLignes de code—
MIIndice de maintenabilité (échelle d'origine)—
VSIndice de maintenabilité (0–100, comme dans Visual Studio)—
RTClassement (bandes de Visual Studio)—

Exemple résolu

  • Volume de Halstead du code1500
  • Complexité cyclomatique12
  • Lignes de code120
  • Indice de maintenabilité (échelle d'origine)52,7
  • Indice de maintenabilité (0–100, comme dans Visual Studio)31
  • Classement (bandes de Visual Studio)Bonne maintenabilité (20–100)

Limites

  • Le résultat est une estimation fondée uniquement sur les valeurs saisies. Les situations réelles comportent souvent des facteurs que cette calculatrice ignore.
  • Les valeurs par défaut sont des références typiques, pas des mesures de votre situation. Remplacez-les par vos propres données dès que possible.