DEV Community

Christian Toledo
Christian Toledo

Posted on • Edited on

Boas práticas 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á 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 permite também 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

    ex: "Eu sugiro que...", "Eu acho...", "Para mim, esse ponto..."

  • Sempre, SEMPRE a revisão é sobre o código, nunca sobre o autor.

    ex: ❌ "Você está fazendo uma implementação errada ..."
    ✅ " O código 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

    ex: 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:

Top comments (7)

Collapse
 
franciscocaldeira profile image
Francisco

5*

Collapse
 
jadilson12 profile image
Jadilson Guedes

Parabéns, ótimo conteúdo.

Collapse
 
tromineo profile image
Monteiro Steil

Excelente conteúdo!

Collapse
 
theanrogerio profile image
Thean Rogerio

Ótimo artigo!

Collapse
 
theanrogerio profile image
Thean Rogerio

Encontrei alguns typos:
"Atenção se foi feito um tratamento de execeções" >> "Atenção se foi feito um tratamento de exceções"

"Ateção ao uso correto dos design patters e a over-engineer" >> "Atenção ao uso correto dos design patterns e a over-engineering"

Collapse
 
alexandremoreira profile image
4lexandre-moreira

Parabéns, excelente!

Collapse
 
iamdevmarcos profile image
Marcos Mendes

Parabens, otimo conteudo.