Condividi tramite


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