Documentación · Métricas estáticas

km miv

Índice de mantenibilidad (variante de verifysoft)

Calcula el índice de mantenibilidad por archivo. El MI combina el volumen de Halstead, la complejidad ciclomática, las líneas de código y la proporción de comentarios en un solo puntaje de mantenibilidad.

Esta es la variante de verifysoft.com, que incluye un término de peso de los comentarios (MIcw) que premia el código bien comentado.

km miv [path]

Fórmula

MIwoc = 171 - 5.2 * ln(V) - 0.23 * G - 16.2 * ln(LOC)
MIcw  = 50 * sin(sqrt(2.46 * radians(PerCM)))
MI    = MIwoc + MIcw

Donde V = volumen de Halstead, G = complejidad ciclomática, LOC = líneas de código, PerCM = porcentaje de comentarios (convertido a radianes).

Umbrales

Puntaje MINivelSignificado
85+goodFácil de mantener
65–84moderateMantenibilidad razonable
<65difficultDifícil de mantener

Opciones:

FlagDescripción
--format {table,json,short,terse}Formato de salida (por defecto: table)
--include-testsIncluye los archivos de test en el análisis (excluidos por defecto)
--top NMuestra solo los N primeros archivos (por defecto: 20)
--sort-by METRICOrdena por mi (ascendente), volume, complexity o loc (por defecto: mi)

Ejemplo de salida:

Maintainability Index
────────────────────────────────────────────────────────────────────────────────
 File                       Volume Cyclo   LOC  Cmt%   MIwoc      MI  Level
────────────────────────────────────────────────────────────────────────────────
 src/loc/counter.rs        32101.6   115   731   3.6   -16.2     2.8  difficult
 src/main.rs                8686.7    14   204  14.6    34.5    68.2  moderate
 src/util.rs                2816.9    18    76   9.5    55.4    84.7  moderate
────────────────────────────────────────────────────────────────────────────────
 Total (3 files)                         1011                  51.9