Métricas del código en Visual Studio 2008 ~ Bitácora del Desarrollador

martes, 13 de noviembre de 2007

Métricas del código en Visual Studio 2008

Se trata de una nueva funcionalidad de Visual Studio 2008 -disponible en la versión Beta 2- que permite obtener métricas en base al código de un método, clase, proyecto o solución.







Code Metrics provee cinco métricas; Class Coupling, Depth of Inheritance, Cyclomatic Complexity, Lines of Code, Maintainability Index.

Cyclomatic Complexity, indica la cantidad de desviaciones de flujo que puede tener nuestro código(se calcula contabilizando la cantidad de if, switch, while, for, etc.)
Cuanto menor sea el nivel, menos cantidad y más simples serían los test que ese código necesita.

Class Coupling, indica el nivel de acoplamiento que tienen nuestras clases, es decir, la cantidad de dependencias de nuestras clases. Como todos sabemos, cuanto menor es acoplamiento más posibilidad de reusar o de modificar frente cambios.

Depth of Inheritance, indica la profundidad de la herencia para nuestras clases. Este punto es algo delicado, porque en mi opinión la cantidad de herencia no es algo malo. Depende mucho del proyecto. Por ejemplo tres o cuatro niveles no sería algo negativo en el caso de un componente.

Lines of Code, la preferida de los gestores para evaluar el rendimiento, y hacer proyecciones en los informes(aunque no siempre reflejan tal cosa); contabiliza las lineas de código de nuestras clases, y nuestro proyecto.
Actualmente existen varios adds-in para VS que brindan esta medida en particular.

Maintainability Index, esta métrica pretende ser un índice de 0 a 100 que indica la complejidad en mantener el código de un modo general, de modo que con un simple vistazo podamos detectar problemas.
Se supone que utiliza varios métodos de medición, inclusive Halstead Volume para crear dicho índice. No hay mucha información al respecto de este último, pero esperemos al la versión Release.

[FxCop: New for Visual Studio 2008]

Posts Relacionados por Secciones



2 comentarios:

Anónimo dijo...

El maintainablity Index se calcula de la siguiente manera;

Maintainability Index = 171 - 5.2 * log2(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * log2(Lines of Code)

Saludos

Anónimo dijo...

Pues si que es una novedad, en eclipse tienes para calcular mas de 40 metricas de los autores mas conocidos.
Y desde hace ya un tiempecito.