Examinar métricas de complexidade e qualidade
Embora existam muitas métricas de qualidade, aqui estão algumas das mais importantes.
As métricas de complexidade podem ajudar a medir a qualidade. A complexidade ciclomática mede o número de caminhos diferentes através do código-fonte de um programa. Outra maneira de entender a qualidade é através do cálculo de medidas de complexidade de Halstead.
Esta medida contempla:
- Vocabulário do programa
- Duração do programa
- Duração calculada do programa
- Volume
- Dificuldade
- Effort
As ferramentas de análise de código podem verificar segurança, desempenho, compatibilidade, uso de linguagem e globalização. Essas ferramentas devem fazer parte da caixa de ferramentas e do processo de compilação de software de cada desenvolvedor.
Executar regularmente uma ferramenta de análise de código estático e ler sua saída é uma ótima maneira de melhorar como desenvolvedor, porque os problemas encontrados pelas regras de software muitas vezes podem ensinar algo novo.
Métricas comuns relacionadas à qualidade
Uma das promessas do DevOps é entregar software mais rápido e com maior qualidade. No passado, estes dois objetivos pareciam opostos. Quanto mais rápido você for, menor será a qualidade. Quanto maior a qualidade, mais tempo demorava. Mas os processos de DevOps podem ajudá-lo a encontrar problemas mais cedo, o que geralmente significa que eles levam menos tempo para serem corrigidos.
Já falamos sobre algumas métricas gerais do projeto e KPIs antes. A seguir está uma lista de métricas que se relacionam diretamente com a qualidade do código que está sendo produzido e os processos de compilação e implantação:
- Porcentagem de compilações com falha - No geral, qual porcentagem de compilações está falhando?
- Porcentagem de implantações com falha - No geral, qual porcentagem de implantações está falhando?
- Volume de tickets - Qual é o volume total de tickets de clientes ou bugs?
- Porcentagem de rejeição de bugs - Qual porcentagem de tickets de clientes ou bugs são reabertos?
- Percentagem de trabalho não planeado - Que percentagem do trabalho total não é planeado?