Análisis de la calidad del código

Completado

La calidad del código no debe medirse por opiniones personales. Un desarrollador que escribe código evaluaría su propio código altamente, pero no es una manera confiable de medir la calidad del código. Los distintos equipos pueden usar definiciones diferentes en función de lo que están creando.

El código que se considera de alta calidad puede significar una cosa para un desarrollador de software de automóviles y algo diferente para un desarrollador de aplicaciones web.

La calidad del código es importante porque afecta a la calidad general del software.

Un estudio sobre "Orígenes de defectos de software y métodos de eliminación" encontró que los programadores individuales encuentran menos de 50% de errores en su propio software. La mayoría de las formas de pruebas solo encuentran 35% de errores. Esto dificulta la determinación de la calidad.

Hay cinco rasgos clave para medir el código de mayor calidad:

Confiabilidad

La confiabilidad mide la probabilidad de que un sistema se ejecute sin errores durante un período de tiempo específico. Se relaciona con el número de defectos y la disponibilidad del software. Puede medir varios defectos mediante la ejecución de una herramienta de análisis estático.

La disponibilidad del software se puede medir teniendo en cuenta el tiempo medio entre errores (MTBF).

Los recuentos de defectos bajos son cruciales para desarrollar código confiable.

Capacidad de mantenimiento

La capacidad de mantenimiento mide la facilidad con la que se puede mantener el software. Se relaciona con el tamaño, la coherencia, la estructura y la complejidad del código. Asegurarse de que el código fuente se puede mantener depende de varios factores, como la capacidad de prueba y la comprensión.

No se puede usar una sola métrica para garantizar la capacidad de mantenimiento.

Algunas métricas que puede considerar para mejorar la capacidad de mantenimiento son el número de advertencias de estilo y las medidas de complejidad de Halstead.

Tanto la automatización como los revisores humanos son importantes para desarrollar código que se pueda mantener.

Capacidad de prueba

La capacidad de prueba mide la compatibilidad del software con los trabajos de prueba. Depende de lo bien que pueda controlar, observar, aislar y automatizar las pruebas, entre otros factores.

La capacidad de prueba se puede medir en función del número de casos de prueba que necesita para encontrar posibles errores en el sistema.

El tamaño y la complejidad del software pueden afectar a la capacidad de prueba.

Por lo tanto, la aplicación de métodos en el nivel de código, como la complejidad ciclomática, puede ayudarle a mejorar la capacidad de prueba del componente.

Portabilidad

La portabilidad mide el uso del mismo software en entornos diferentes. Se relaciona con la independencia de plataformas.

No hay una medida específica de portabilidad. No obstante, hay varias maneras de garantizar el código portable.

Es importante probar periódicamente el código en distintas plataformas en lugar de esperar hasta el final del desarrollo.

También es bueno establecer los niveles de advertencia del compilador lo más altos posible y usar al menos dos compiladores.

Seguir un estándar de codificación también ayuda con la portabilidad.

Reusabilidad

La reusabilidad mide si los recursos existentes, como el código, se pueden volver a usar.

Los recursos se reutilizan con mayor facilidad si tienen características de modularidad o acoplamiento débil.

El número de interdependencias puede medir la facilidad de reutilización.

La ejecución de un analizador estático puede ayudarle a identificar estas interdependencias.