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é è stato fatto?
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 significa che è compreso tra 171 e un numero negativo non associato. 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 quindi ribasere l'intervallo 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)
Oltre a questo, 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. Questo ci ha dato le soglie seguenti:
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:
- 0-9 = Rosso
- 10-19 = Giallo
- 20-100 = Verde