Compartilhar via


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