Calculatrice des Métriques de Halstead (Volume, Difficulté, Effort)
Volume, difficulté, effort, temps d'écriture estimé et bogues livrés de Halstead d'un programme, d'après ses décomptes d'opérateurs et d'opérandes.
Résultats
Ce que fait cet outil
Maurice Halstead a proposé en 1977 de mesurer un programme en comptant ses opérateurs (mots-clés, symboles, appels) et ses opérandes (variables et constantes), distincts et au total. Le vocabulaire n et la longueur N donnent le volume V = N log₂ n, la difficulté vaut D = (n₁ ÷ 2)(N₂ ÷ n₂), qui croît quand peu d'opérandes sont réutilisés, et l'effort vaut E = D × V. Les conversions en « temps » (E ÷ 18 secondes) et en « bogues » (V ÷ 3000) viennent de son propre calibrage et se lisent mieux comme indicateurs relatifs que comme prédictions. Les outils diffèrent sur ce qu'ils comptent comme opérateur : ne comparez que les chiffres d'un même outil.
Formule
n = n₁ + n₂ · N = N₁ + N₂ · V = N log₂ n · D = (n₁ ÷ 2)(N₂ ÷ n₂) · E = D × V · T = E ÷ 18 s · B = V ÷ 3000
Variables
| Symbole | Signification | Unité |
|---|---|---|
n1 | Opérateurs distincts (n₁) | — |
n2 | Opérandes distincts (n₂) | — |
t1 | Total des opérateurs (N₁) | — |
t2 | Total des opérandes (N₂) | — |
E | Effort (E) | — |
V | Volume (V) | — |
D | Difficulté (D) | — |
VO | Vocabulaire (n) | — |
LE | Longueur du programme (N) | — |
EL | Longueur estimée d'après le vocabulaire | — |
TI | Temps pour l'écrire (T) | min |
BU | Bogues livrés estimés (B) | — |
Exemple résolu
- Opérateurs distincts (n₁)12
- Opérandes distincts (n₂)18
- Total des opérateurs (N₁)60
- Total des opérandes (N₂)45
- Effort (E)7728
- Volume (V)515,2
- Difficulté (D)15,00
- Vocabulaire (n)30
- Longueur du programme (N)105
- Longueur estimée d'après le vocabulaire118,1
- Temps pour l'écrire (T)7,2 min
- Bogues livrés estimés (B)0,172
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.