Una de las medidas de la calidad de una aplicación es la calidad de su código. Muchas veces éste es un aspecto que se olvida porque no parece tan importante como la funcionalidad o la eficiencia. Puede que sea así, pero también es cierto que un código de calidad ayudará a conseguir esos otros factores clave.
No es habitual aplicar reglas de calidad del código durante la fase de desarrollo de un proyecto, pero creo que sería una buena medida para garantizar un resultado final satisfactorio. Al igual que se asume desarrollar test unitarios para validar la funcionalidad de los módulos terminados, se podría asumir la ejecución de herramientas automáticas que revisaran la corrección del código. De esta forma se podrían detectar y corregir antes los posibles errores y evitar llegar a situaciones donde el volumen de código a revisar y corregir sea tan elevado que no valga la pena ni intentar arreglarlo.
Herramientas de análisis
PMD
Es una herramienta que analiza código Java y se basa en reglas para detectar posibles errores. Entre ellos encontramos:
HammurapiHerramientas de análisis
PMD
Es una herramienta que analiza código Java y se basa en reglas para detectar posibles errores. Entre ellos encontramos:
- Incumplimiento de estándares de códificación
- Bloques vacíos (try/cath/finally, switch, if,...)
- Código no usado
- Duplicación o importación inecesaria de paquetes
- Problemas con el tamaño del código
- Optimizaciones
- Complejidad ciclomática (CCN)
Otra herramienta muy útil para la revisión de código. Usa una base de reglas extensible para analizar el código. Los resultados obtenidos por esta herramienta son más comprensibles que los de PMD porque agrupa la información por niveles de severidad.
También obtiene métricas del código.
Métricas
Una forma rápida y fácil de hacer una primera valoración de la calidad de un código es obteniendo métricas. Buenos indicadores de la calidad son:
- Número de línes de código de un método
- Número de métodos de una clase
- Número de parámetros de un método
- Profundidad del árbol de herencia
- Acomplamiento intra y inter packages
No hay comentarios:
Publicar un comentario