Métricas de Código con VS2010

Usar métricas de código es una técnica recomendada al realizar Análisis de Código, en el caso de Visual Studio, se encuentra disponible desde la versión 2008.
En el caso de Visual Studio 2010 se recomienda el uso de esta característica debido a que se convierte en una de las principales herramientas que permiten asegurar la calidad del código que se viene escribiendo.

¿Cómo se utiliza en Visual Studio? No es muy complicado, te ubicas sobre el proyecto que deseas analizar, click derecho y…

image 
Esto generará el siguiente reporte:

image 
A lo cual, debemos considerar los siguientes indicadores:
– Maintainability Index / Nivel o Indice de Mantenimiento: Indicador que refleja si el código escrito es facil de entender, modificar y/o extender ante alguna eventualidad. A mayor indice, mejor el nivel de mantenimiento.
– Cyclomatic Complexity / Complejidad Ciclosomática: Orientado a la complejidad que se involucre en la lógica que se escriba (condiciones, bucles)
– Depth of Inheritance / Profundidad de Herencia: Niveles de herencia que se manejen. A menor complejidad, mejor código.
– Class Coupling / Nivel de Acoplamiento: A menos acoplamiento de tus clases, pues mucho mejor.
– Lines of Code / Líneas de Código: Aqui habla de líneas de código sin contar vacíos o cortes/saltos de línea debido a que la expresión es demasiado larga. A menos líneas, mejor código.

Y de qué manera se obtiene mayor descripción de estos indicadores? pues pasando el cursor sobre cada cabecera de columna.

image 
En líneas generales siempre me ha llamado la atención este tipo de herramientas (se nota no? jeje). Para este caso recomiendo revisen las opciones del reporte generado, ya que, como tal, maneja filtros, exportación a excel!!, análisis de todos los proyectos, y asi =D. Ahora, si encuentran algún método que esta en rojo, pues, hagan doble click y a reparar!

Ahora… y si no tenemos Visual Studio? es posible generar métricas? pues… veamos en el siguiente post.

Saludos
@Jersson

Leave a Reply

Your email address will not be published. Required fields are marked *