Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pytanie: Indeks konserwacji został zresetowany, aby leżeć w zakresie od 0 do 100. Jak i dlaczego to zresetowano?
Metryka pierwotnie została obliczona w następujący sposób: Maintainability Index = 171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code)
Użycie tej formuły oznaczało, że wahała się od 171 do niezwiązanej liczby ujemnej. Ponieważ kod dążył do zera, wyraźnie trudno było go utrzymać, a różnica między kodem o wartości 0 a jakąś wartością ujemną nie była przydatna. W wyniku malejącej przydatności liczb ujemnych oraz zamiaru uczynienia metryki jak najbardziej przejrzystą, zdecydowaliśmy się traktować wszystkie indeksy o wartości 0 lub mniejszej jako 0, a następnie przeskalować zakres 171 lub mniej, aby wynosił od 0 do 100. Z tego powodu używana formuła to:
Maintainability Index = MAX(0,(171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code))*100 / 171)
Ponadto postanowiliśmy być konserwatywni z progami. Chodziło o to, że jeśli indeks pokazał kolor czerwony, to mówilibyśmy z wysokim stopniem pewności, że wystąpił problem z kodem.
Dla progów postanowiliśmy podzielić ten zakres 0-100 80-20, aby utrzymać niski poziom szumu i oznaczyliśmy tylko podejrzany kod. Użyliśmy następujących progów:
Wartość indeksu | Kolor | Znaczenie |
---|---|---|
0-9 | Czerwony | Niska łatwość konserwacji kodu |
10-19 | Żółty | Umiarkowana łatwość konserwacji kodu |
20-100 | Zielony | Dobra łatwość konserwacji kodu |