Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Pergunta: O índice de manutenibilidade foi redefinido para ficar entre 0 e 100. Como e por que essa redefinição foi feita?
A métrica foi originalmente calculada da seguinte forma: Maintainability Index = 171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code)
O uso desta fórmula significava que variava de 171 a um número negativo ilimitado. 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 algum 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 índices 0 ou menos como 0 e, em seguida, rebasear o intervalo de 171 ou menos para ser de 0 a 100. Por esta razão, 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 limiares. 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.
Para os limites, decidimos dividir essa faixa de 0-100 de 80 a 20 para manter o nível de ruído baixo e sinalizamos apenas o código que era suspeito. Usamos os seguintes limites:
| Valor do índice | Cor | Significado |
|---|---|---|
| 0-9 | Vermelho | Baixa manutenção do código |
| 10-19 | Amarelo | Capacidade de manutenção moderada do código |
| 20-100 | Verde | Boa manutenção do código |