Métrica de qualidade de código não é moda, é o termômetro que diz se seu software vai aguentar o tranco ou se vai dar PT na primeira alteração. A gente reuniu as 12 que realmente importam, sem firula. Bora?
1. Complexidade Ciclomática
Ela mede quantos caminhos lógicos existem dentro de uma função. Quanto maior, mais difícil de testar e entender. Um método com complexidade acima de 10 já merece um olhar mais carinhoso. Exemplo: aquele if aninhado dentro de for dentro de switch que você jura que vai refatorar um dia.
2. Linhas de Código por Método (LOC)
Funções de 200 linhas são um clássico. O ideal é manter cada método com menos de 30 linhas. A regra é simples: se você precisa rolar a tela pra entender o que faz, já passou do ponto. Dica: extrair blocos repetidos vira um novo método, e o LOC cai naturalmente.
3. Acoplamento entre Classes (CBO - Coupling Between Objects)
Mostra quantas classes uma classe específica depende. Acoplamento alto = código frágil. Uma classe que conversa com 10 outras vai quebrar em 10 lugares quando algo mudar. O segredo é manter o CBO baixo, tipo aquele amigo que não se mete em fofoca alheia.
4. Coesão (LCOM - Lack of Cohesion of Methods)
Coesão mede o quanto os métodos de uma classe estão focados em uma única responsabilidade. LCOM alto indica que a classe faz de tudo, uma bagunça. O ideal é cada classe ter um propósito claro, como cada setor de uma cozinha: um lugar pra cortar, outro pra cozinhar.
5. Cobertura de Testes (Code Coverage)
Não adianta ter 80% de cobertura se os testes só passam por código fácil. O importante é cobrir os caminhos críticos, especialmente os de erro. Um sistema com 60% de cobertura nas bordas vale mais que 90% só nos felizes.
6. Duplicação de Código (Code Duplication)
Copiar e colar é tentador, mas cada bloco duplicado vira dois pontos de manutenção. Ferramentas como SonarQube detectam repetições. Um código com menos de 5% de duplicação é considerado limpo. Se tá acima, hora de extrair pra um método compartilhado.
7. Dívida Técnica (Technical Debt)
Representa o esforço extra pra corrigir gambiarras acumuladas. É medida em horas ou dias. Um projeto saudável mantém a dívida abaixo de 5% do tempo total de desenvolvimento. Se passou disso, o juro composto come a produtividade.
8. Code Churn
Mede quantas linhas de código são alteradas, adicionadas ou removidas em um período. Churn alto (mais de 30% do código modificado no mês) indica instabilidade. Pode ser sinal de requisitos mal definidos ou refatoração descontrolada.
9. Profundidade de Herança (DIT - Depth of Inheritance Tree)
Quanto mais fundo na árvore de herança, mais difícil entender o comportamento real. Uma classe que herda de 3 níveis já começa a ficar complicada. Prefira composição a herança, o código fica mais explícito.
10. Número de Parâmetros
Métodos com mais de 3 parâmetros viram uma sopa de letrinhas. Se você precisa passar 5 argumentos, provavelmente falta uma classe de parâmetro. Código limpo pede no máximo 3, e olhe lá.
11. Taxa de Falhas (Failure Rate)
Quantas vezes um módulo específico quebra em produção? Uma taxa acima de 1 falha a cada 100 execuções merece investigação. É o tipo de métrica que não mente: se um trecho cai sempre, ele é o elo fraco.
12. Tempo de Compilação
Compilação lenta (acima de 5 minutos) afeta o ciclo de feedback. Cada segundo de espera é um convite pra distração. Se o build demora, vale modularizar ou usar compilação incremental.
FAQ
Quais são as métricas de qualidade de código?
As principais incluem complexidade ciclomática, linhas de código por método, acoplamento, coesão, cobertura de testes, duplicação, dívida técnica, code churn, profundidade de herança, número de parâmetros, taxa de falhas e tempo de compilação.
Quais são os 7 principais indicadores de qualidade?
Complexidade ciclomática, linhas de código por método, acoplamento, coesão, cobertura de testes, duplicação e dívida técnica são os 7 mais citados em boas práticas de engenharia de software.
O que são métricas de qualidade?
São medidas quantitativas que avaliam atributos do código, como legibilidade, manutenibilidade, confiabilidade e eficiência. Elas ajudam equipes a identificar pontos de melhoria e evitar retrabalho.
Quais são as métricas de avaliação de qualidade?
Além das citadas, métricas como densidade de defeitos, tempo médio de reparo, e satisfação do usuário complementam a avaliação. O foco varia conforme o contexto do projeto.
Como medir qualidade de código na prática?
Use ferramentas como SonarQube, CodeClimate ou ESLint com regras customizadas. Integre a análise no pipeline de CI/CD para receber feedback automático a cada commit.
Qual métrica é mais importante para começar?
Comece pela complexidade ciclomática e pela duplicação de código. Elas são fáceis de medir e têm impacto direto na manutenibilidade. Depois, avance para acoplamento e cobertura de testes.


