Share via


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