Code review
Code Review
O objetivo do code review é garantir qualidade, manutenibilidade, performance e alinhamento com as práticas do WMS. Todos os pull requests devem ser revisados antes de serem mesclados.
Regras obrigatórias
- Divisão de responsabilidades
- Métodos e classes devem ter uma única responsabilidade.
- Seguir princípios de SOLID, evitando acoplamento excessivo.
- Evitar classes que concentram muitas funções.
- Tamanho de métodos e classes
- Métodos muito longos devem ser quebrados em funções menores e coesas.
- Classes extensas devem ser refatoradas em componentes menores ou serviços.
- Tratamento de exceções
- Toda operação sujeita a falhas deve ter tratamento adequado.
- Evitar catch genérico sem logging ou ação concreta.
- Exceções devem ser específicas, permitindo rastreabilidade e manutenção.
- Testes unitários
- Cobertura mínima de X% (definir padrão do time).
- Novas funcionalidades ou refactorings devem ser acompanhados de testes.
- Testes devem ser legíveis, confiáveis e independentes.
- Performance
- Evitar algoritmos desnecessariamente custosos.
- Considerar complexidade de tempo e espaço.
- Evitar consultas ou loops ineficientes, principalmente em processamento de grandes volumes de dados.
- Padrões do DDD (Domain-Driven Design)
- Respeitar entidades, agregados, value objects, serviços de domínio e repos.
- Garantir que a lógica de negócio esteja centralizada nos modelos do domínio, não na camada de aplicação ou infraestrutura.
Checklist sugerido para code review
- Nome de classes e métodos claros e coerentes.
- Código coeso e com responsabilidade única.
- Tratamento de erros consistente e rastreável.
- Testes unitários presentes e relevantes.
- Performance considerada (loops, queries, memória).
- Segue padrões de DDD e arquitetura do projeto.
- Código legível e comentado apenas quando necessário.