Métricas para análisis de la calidad de código

PREGUNTA

Estoy interesado en aspectos para analisis de la calidad de código tales cómo:


metricas
analisis de la bondad del codigo

Conoce alguno del grupo algun site donde pueda sacar información acerca de esto.

Me podeís recomendar alguna herramienta
Saludos
RESPUESTA

Como lo que preguntas es opinable, seguro que tendrás más de una respuesta. Ahí va la mía:

1) Mètricas de análisis de bondad del código.

Depende, como siempre, para qué las quieras.
Las primeras métricas que se sacan sacan son las orientadas a la legibilidad. (Número de líneas por módulo, líneas de comentarios por número total de lineas del modulo). Estas son las más sencillas.

Puedes bajarte CodeCount del amigo Barry Boehm (sunset.usc.edu/research/CODECOUNT). Esta en C para diferentes lenguajes de programación.

Luego, si tienes la suerte de tener el código como parece, puedes aplicar las métricas estáticas desde las de Halstead hasta las de complejidad de McCabe pasando por las cohesion de módulos de Henry-Kafura,

Ademas si utilizas Orientación a Objetos puedes aplicar las suites (1y2) de métricas de Chidamber y Kemerer.

Por cierto tengo un bonito artículo publicado en NOVATICA (ATI) sobre métricas OO. El problema está en que con la compaginación destrozaron fórmulas y gráficos. Por tanto si quieres una copia ya sabes emilio y te lo envio o mejor lo pongo en la zona común del grupo.

Por último, el guru de obligada referencia en Métricas del SW es Fenton "Software Metrics: A rigorous approach" (edición del 91 agotadísima, hay otra edición del 97-98).

En castellano, nuestros compañeros L. Fernandez (alias lufern) y J. Dolado (alias el vasco) tienen un libro recolector de artículos sobre el tema publicado por RA- MA) (Texto económico).

2) Herramientas.

Las buenas herramientas son las que están integradas en el entorno de desarrollo. Pero estas son pocas y valen muchos $$$$$.

Para empezar yo miraría algo tipo PC-Metric (www.molalla.net/~setlabs) que es una herramienta no integrada en el entorno de desarrollo pero económica. Hace tiempo que no contacto con ellos. ¿Estarán vivos?

Para las herramientas integradas yo miraría algo tipo IBM/Rational

Creo que esto es todo.

J.Rios