Métrica de código – Significado e intervalo de índice de facilidade de manutenção
Pergunta: o índice de facilidade de manutenção foi redefinido para ficar entre 0 e 100. Como e por que isso foi feito?
A métrica originalmente foi calculada da seguinte maneira: Maintainability Index = 171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code)
O uso dessa fórmula significava que ela variava de 171 a um número negativo não associado. Como o código tendia para 0, era claramente difícil manter o código e a diferença entre o código em 0 e um valor negativo não era útil. Como resultado da diminuição da utilidade dos números negativos e do desejo de manter a métrica o mais clara possível, decidimos tratar todos os 0 ou menos índices como 0 e, em seguida, trocar base do intervalo de 171 ou menos para ser de 0 a 100. Por esse motivo, a fórmula que usamos é:
Maintainability Index = MAX(0,(171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code))*100 / 171)
Além disso, decidimos ser conservadores com os limites. O desejo era que, se o índice mostrasse vermelho, estaríamos dizendo com um alto grau de confiança que havia um problema com o código. Isso nos deu os seguintes limites:
Para os limites, decidimos dividir esse intervalo de 0-100 de 80 a 20 para manter o nível de ruído baixo e apenas sinalizamos o código suspeito. Usamos os seguintes limites:
- 0-9 = Vermelho
- 10-19 = Amarelo
- 20-100 = Verde