Análisis de las métricas de complejidad y calidad
Aunque hay muchas métricas de calidad, estas son algunas de las más importantes.
Las métricas de complejidad pueden ayudar a medir la calidad. La complejidad ciclomática mide el número de rutas de acceso diferentes a través del código fuente de un programa. Otra forma de comprender la calidad consiste en calcular las medidas de complejidad de Halstead.
Esta medida examina:
- Vocabulario del programa
- Longitud del programa
- Longitud calculada del programa
- Volumen
- Dificultad
- Effort
Las herramientas de análisis de código pueden comprobar la seguridad, el rendimiento, la compatibilidad, el uso del lenguaje y la globalización. Estas herramientas deben formar parte del cuadro de herramientas y del proceso de compilación de software de cada desarrollador.
Ejecutar regularmente una herramienta de análisis de código estático y leer su salida es una excelente manera de mejorar como desarrollador porque los problemas encontrados por las reglas de software a menudo pueden enseñar algo nuevo.
Métricas comunes relacionadas con la calidad
Una de las promesas de DevOps es ofrecer software más rápido y con mayor calidad. En el pasado, estos dos goles parecían opuestos. Cuanto más rápido vas, menor es la calidad. Cuanto mayor era la calidad, más tiempo se tardaba. Pero los procesos de DevOps pueden ayudarle a encontrar problemas anteriormente, lo que normalmente significa que tardan menos tiempo en corregirse.
Hemos hablado de algunas métricas generales del proyecto y KPI antes. A continuación se muestra una lista de métricas que se relacionan directamente con la calidad del código que se está produciendo y los procesos de compilación e implementación:
- Porcentaje de compilaciones con errores: en general, ¿en qué porcentaje de compilaciones se producen errores?
- Porcentaje de implementaciones con errores: en general, ¿en qué porcentaje de implementaciones se producen errores?
- Volumen de incidencias: ¿cuál es el volumen total de incidencias de cliente o de errores?
- Porcentaje de reincidencia de errores: ¿qué porcentaje de vales de cliente o de errores se está reabriendo?
- Porcentaje de trabajo no planeado: ¿qué porcentaje del trabajo total que se está realizando no está planeado?