Práticas Essenciais de Code Review para Bons Programadores
O Code Review deve ser um processo natural dentro do fluxo de desenvolvimento. Esse processo ajuda a identificar bugs e más implementações antes da fase de teste e validação.
O resultado é uma base de código mais estável e de maior qualidade. Outro benefício de realizar code review de um parceiro é reforçar as relações pessoais e o senso de trabalho em equipe. O processo de revisão também permite uma distribuição do conhecimento técnico e compreensão dos processos entre o time.
Boas práticas na hora de revisar o código
O primeiro aspecto de um bom code review é se atentar ao lado humano antes do código. Abaixo segue uma lista de condutas para se atentar quando revisar o código de outra pessoa:
Revisor
- Como revisor, você deve pensar como outra pessoa.
- Ao apontar sugestões, tente formular frases a partir de um ponto de vista mais pessoal
- “Eu sugiro que…”, “Eu acho…”, “Para mim, esse ponto…”
- Sempre, SEMPRE a revisão é sobre o código, nunca sobre o autor.
- ❌ “Você está fazendo uma implementação errada …”
✅ “ O código está fazendo uma implementação errada…”
- ❌ “Você está fazendo uma implementação errada …”
- Faça perguntas de pontos que não ficaram claros, ou ofereça sugestões através de perguntas. Por meio das respostas, podemos entender melhor a decisão para certo ponto do código.
- Faça comentários através Observações, Impactos e Requisições
- Observação “Essa implementação é repetida em outro contexto, poderia ser reutilizada” Impacto “Essa implementação torna a compreensão do real objetivo do método não tão claro para mim” Request “ Para esse cenário eu sugiro usar X padrão de projeto, por N motivos”
- Entenda que existem diferentes soluções para o mesmo problema.
- Distinguir entre boas práticas e gosto pessoal
- Faça elogios ao código quando necessário, mesmo que precise de algum ajuste.
- Se pergunte sempre se sua afirmação é verdadeira, se é necessária e se é gentil.
- Valorize o esforço que o autor teve em escrever o código
Autor
- Como autor, você deve ter humildade para ouvir sobre o seu trabalho
- É normal acontecer falhas, ou ter implementações melhores, ou esquecermos de algum detalhe
- Lembre-se que um código escrito em 10 horas é revisado em 10 minutos
- Não leve as críticas para o lado pessoal, você não é o seu código
- Você e o revisor estão no mesmo time
- Somos sempre enviesados pelo nosso próprio código. Esteja aberto a opiniões externas
Código
Ao revisar um código é bom ter um checklist do que precisa ser avaliado. Conferir todos aspectos do código de uma vez pode ser exaustivo e propenso a falhas. É bom atentar-se a um tópico e validar todo conteúdo sob aquela ótica.
Eu entendo o que o código faz?
O código preenche todos os requisitos de implementação?
O código faz o que eu espero que ele faça?
- Usando templates para Pull Requests, fica fácil analisar o que aquela PR deve resolver
- A descrição da PR/commit está de acordo com o que o código executa?
- Atenção a sintaxe, não tem nenhum code smells ?
- Atenção se foi feito um tratamento de exceções
- Atenção ao uso correto dos design patterns e a over-engineering
Detalhes e referências: