5 min leitura • Guide 396 of 877
Rastreamento de qualidade de código
Qualidade de código afeta velocidade, bugs e moral da equipe. Bom rastreamento de qualidade identifica tendências e áreas de melhoria. Mau rastreamento se torna sobrecarga burocrática que equipes ignoram. Este guia cobre medição prática de qualidade de código.
Métricas de qualidade
| Métrica | Mede | Meta |
|---|---|---|
| Cobertura de teste | Amplitude de teste | Tendência de alta |
| Densidade de bugs | Taxa de defeito | Tendência de baixa |
| Complexidade | Manutenibilidade | Estável/decrescente |
| Tempo de revisão | Saúde do processo | < 1 dia |
Métricas principais
O que rastrear
MÉTRICAS DE QUALIDADE DE CÓDIGO
══════════════════════════════
COBERTURA DE TESTE:
─────────────────────────────────────
O que rastrear:
├── Cobertura de linha (básico)
├── Cobertura de branch (melhor)
├── Cobertura em novo código (melhor ainda)
├── Tendência de cobertura ao longo do tempo
└── Direção importa
Abordagem boa:
├── Novo código deve manter cobertura
├── Rastrear tendência, não absoluto
├── Identificar caminhos críticos não testados
├── Qualidade dos testes também importa
└── Cobertura significativa
MÉTRICAS DE BUG:
─────────────────────────────────────
├── Bugs encontrados em produção
├── Densidade de bugs (bugs por KLOC)
├── Tempo para corrigir
├── Taxa de defeito escapado
├── Tendência ao longo do tempo
└── Indicador de qualidade
COMPLEXIDADE DE CÓDIGO:
─────────────────────────────────────
├── Complexidade ciclomática
├── Complexidade cognitiva
├── Comprimento de arquivo/função
├── Contagem de dependências
├── Hot spots (complexo + mudado frequentemente)
└── Manutenibilidade
REVISÃO DE CÓDIGO:
─────────────────────────────────────
├── Tempo para primeira revisão
├── Tempo para merge
├── Tendência de comentários de revisão
├── Profundidade de revisão
├── Saúde do processo
└── Medida de colaboração
Portas de qualidade
Verificações automatizadas
PORTAS DE QUALIDADE
═══════════════════
PORTAS DE PIPELINE CI:
─────────────────────────────────────
Estágio 1: Build
├── Compila
├── Linting passa
├── Verificação de formato
└── Saúde básica
Estágio 2: Testes
├── Testes unitários passam
├── Testes de integração passam
├── Cobertura não diminuiu
└── Qualidade funcional
Estágio 3: Análise
├── Varredura de segurança
├── Verificação de dependências
├── Verificação de complexidade
├── Análise estática
└── Qualidade profunda
PIPELINE EXEMPLO:
─────────────────────────────────────
build → lint → test → coverage → security → deploy
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Deve Deve Deve Verificar Verificar
passar passar passar tendência alertas
CONFIGURAÇÃO DE PORTAS DE QUALIDADE:
─────────────────────────────────────
# Exemplo de regras de qualidade
coverage:
new_code_coverage: >= 80%
coverage_change: >= 0% # Sem diminuição
complexity:
max_function_complexity: 15
max_file_length: 400
security:
high_severity: block
medium_severity: warn
Rastreamento no GitScrum
Integrando qualidade
RASTREAMENTO DE QUALIDADE GITSCRUM
══════════════════════════════════
LABELS DE TAREFA:
─────────────────────────────────────
├── bug: Defeitos encontrados
├── tech-debt: Trabalho de qualidade
├── refactor: Melhoria de código
├── test: Adição de teste
└── Categorizar trabalho de qualidade
DEFINIÇÃO DE PRONTO:
─────────────────────────────────────
Incluir qualidade:
├── ☐ Testes escritos
├── ☐ Código revisado
├── ☐ Sem novos avisos
├── ☐ Documentação atualizada
├── Qualidade incorporada
└── Não pensamento posterior
RASTREAMENTO DE BUG:
─────────────────────────────────────
├── Registrar todos bugs
├── Rastrear fonte (dev, QA, prod)
├── Labels de severidade
├── Tempo para corrigir
├── Análise de tendência
└── Visibilidade de qualidade
RELATÓRIOS DE QUALIDADE:
─────────────────────────────────────
Relatório de sprint inclui:
├── Bugs criados vs corrigidos
├── Dívida técnica endereçada
├── Adições de teste
├── Tendência de qualidade
└── Revisão regular
Processo de melhoria
Melhorando
MELHORIA DE QUALIDADE
═════════════════════
IDENTIFICAR HOTSPOTS:
─────────────────────────────────────
Focar esforço:
├── Complexo + mudado frequentemente
├── Áreas de alta densidade de bugs
├── Caminhos críticos não testados
├── Pontos de dor do desenvolvedor
├── Foco orientado por dados
└── Maior impacto
ALOCAR TEMPO:
─────────────────────────────────────
Investimento regular:
├── 10-20% para trabalho de qualidade
├── Cada sprint, alguma melhoria
├── Parte do trabalho de feature
├── Não uma fase separada
├── Investimento contínuo
└── Abordagem sustentável
MEDIR MELHORIA:
─────────────────────────────────────
Rastrear ao longo do tempo:
├── Cobertura em tendência de alta?
├── Densidade de bugs em tendência de baixa?
├── Complexidade estável?
├── Velocidade da equipe estável/alta?
├── Qualidade habilitando velocidade?
└── Progresso visível
CELEBRAR VITÓRIAS:
─────────────────────────────────────
├── Notar melhorias de qualidade
├── Compartilhar em retros
├── Reconhecer esforço
├── Construir momentum
└── Reforço positivo
Melhores práticas
Para rastreamento de qualidade
- Tendências sobre absolutos — Direção importa
- Automatizar portas — Qualidade em CI
- Parte da definição de pronto — Incorporada
- Investimento regular — Cada sprint
- Focar em hotspots — Maior impacto
Anti-padrões
ERROS DE RASTREAMENTO DE QUALIDADE:
✗ Números rígidos de cobertura
✗ Qualidade como fase separada
✗ Métricas sem ação
✗ Manipular métricas
✗ Ignorar tendências
✗ Sem automação
✗ Culpar por problemas de qualidade
✗ Escolha falsa qualidade vs velocidade