Metriche del codice - Intervallo di indici di gestibilità e significato
Domanda: l'indice di gestibilità è stato reimpostato per essere compreso tra 0 e 100. Come e perché è stata eseguita questa reimpostazione?
La metrica originariamente è stata calcolata come segue: Maintainability Index = 171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code)
L'uso di questa formula implicava che potesse variare da 171 a un numero negativo senza limiti. Poiché il codice tendeva verso 0, era chiaramente difficile gestire il codice e la differenza tra il codice a 0 e un valore negativo non era utile. Come risultato della riduzione dell'utilità dei numeri negativi e del desiderio di mantenere la metrica il più chiara possibile, abbiamo deciso di considerare tutti gli indici 0 o meno come 0 e di ribasare l'intervallo degli indici inferiori a 171 per essere da 0 a 100. Per questo motivo, la formula usata è:
Maintainability Index = MAX(0,(171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code))*100 / 171)
Inoltre, abbiamo deciso di essere conservativi con le soglie. Il desiderio era che se l'indice mostrasse rosso, si sarebbe detto con un alto grado di fiducia che si è verificato un problema con il codice.
Per le soglie, abbiamo deciso di suddividere questo intervallo di 0-100 80-20 per mantenere basso il livello di rumore e abbiamo segnalato solo il codice sospetto. Sono stati usati i valori soglia seguenti:
Valore dell'indice | Colore | Significato |
---|---|---|
0-9 | Rosso | Bassa manutenibilità del codice |
10-19 | Giallo | Manutenibilità moderata del codice |
20-100 | Verde | Buona manutenibilità del codice |