Série Code Quality
para Tech Leads.
Seis posts sobre as cinco métricas que descrevem a saúde do seu código — Cyclomatic, Cognitive, Smells, Bug Analysis, Duplication — e como olhar todas juntas vira diagnóstico cirúrgico em vez de achismo.
Cada post é independente.
Você pode ler na ordem proposta — cada post pavimenta o próximo — ou pular direto para a métrica que está te incomodando agora. O post 6 fecha a série mostrando como integrar as cinco métricas em um diagnóstico operacional, então recomendo lê-lo por último, depois de ter os outros como contexto.
Começar pelo Post 01 →Os seis posts em ordem.
Cyclomatic Complexity: o número que diz quantos testes sua função realmente precisa
A métrica que Thomas McCabe propôs em 1976 e que ainda é o instrumento mais direto para medir testabilidade. Cada ramificação adiciona +1; o total é quantos testes a cobertura mínima exige.
Cognitive Complexity: por que duas funções com a mesma Ciclomática podem ter custos completamente diferentes
A métrica que a SonarSource propôs em 2018 para preencher a lacuna deixada pela Ciclomática. Pune aninhamento de forma cumulativa — porque o cérebro paga preço exponencial por cada nível.
Code Smells: armadilhas catalogadas que viram bug, e por que Beck e Fowler deram nome a elas
"Isso aqui está estranho" não é comentário de PR review. Beck e Fowler nomearam dezenas de padrões de design ruim — de Long Method a Feature Envy — para tirar a discussão da percepção e levar para o concreto.
Bug Analysis: tem código no seu repo que nunca pode ser executado. Você não sabe quais
Análise de fluxo de dados encontra bugs lógicos antes dos testes rodarem: bifurcações impossíveis, loops sem parada, exceções engolidas. Detectar erro durante a escrita custa 1×; em produção, 100×.
Code Duplication: você corrige o bug. Em produção, ele continua aparecendo. Sabe por quê?
A métrica diferente — porque o problema é espalhado, não agrupado. A falsa sensação de segurança é o risco real: você corrige uma cópia, o bug continua nas outras. Com IA generativa, o problema acelerou.
Visão Holística do Método SQA: por que olhar as 5 métricas juntas é diferente de olhar uma por vez
O fechamento da série. Diagnóstico cirúrgico a partir do sintoma operacional: lentidão = Complexidade + Duplicação; instabilidade = Bug Analysis + Code Smells; bug que volta = Duplication.
Para quem esta série foi escrita.
- ✓Tech Lead ou Staff Engineer que quer instrumentar a saúde do código sem virar gestor
- ✓Arquiteto hands-on que precisa justificar refatoração para o CTO com dados, não opinião
- ✓Engenheiro que já faz isso na mão com
git log,cloc, regex — e está pronto para automatizar - ✓Líder técnico cansado de discussões "o código tá ruim" sem instrumento de medição
- ✓Dev que recebeu base legada e precisa priorizar onde investir refactor primeiro
- ✗Defesa de "código perfeito" — esta série é sobre código mensurável, não perfeito
- ✗Tutorial passo-a-passo de SonarQube — as ferramentas são citadas como referência
- ✗"10 dicas para melhorar seu código" — cada post tem uma ideia e a defende até o fim
- ✗Conteúdo introdutório a programação — assumimos contexto técnico de Tech Lead
- ✗Religião metodológica — DRY, modularização e testes têm nuance, não dogma
De onde vem o material.
Toda a série foi destilada de seis relatórios técnicos profundos sobre as cinco métricas e a forma de integrá-las — o que compõe o pilar Code Quality, primeiro dos quatro pilares do Software Quality Assessment (SQA) da Codurance. Cada post cita as fontes específicas que usou.
O SQA é um método de avaliação com quatro pilares mensuráveis: Code Quality, Segurança, Processo e Conhecimento — cada um com seu próprio conjunto de métricas. Esta série cobre apenas o primeiro pilar; os demais virão em séries futuras.
Para Tech Leads que já estão fazendo medição manual, o passo natural é integrar as cinco métricas em uma visão única e estabelecer baseline. É exatamente o que a plataforma SQA faz — sem integração de pipeline, sem nova ferramenta no fluxo do dev.
Da medição manual ao diagnóstico integrado.
A plataforma SQA roda as essas cinco métricas a partir do repositório (sem integração de pipeline, sem nova ferramenta no fluxo do dev) e entrega o diagnóstico agregado por sistema, com grade A–F por pilar.
Aguarde as novas séries dos pilares de Code Security, Development Process Quality e Knowledge Distribution.
SABER MAIS SOBRE O SQA → Falar com a Codurance