A revisão do código é uma atividade de garantia de qualidade de software na qual uma ou várias pessoas verificam um programa, principalmente ao visualizar e ler partes de seu código-fonte, e o fazem após a implementação ou como uma interrupção da implementação. Pelo menos uma das pessoas não deve ser o autor do código.

A atividade de Code Review é muito importante para verificar a qualidade do código produzido e é através dela que é possível identificar problemas, antes mesmo de um projeto ser implantado em produção, e assim, evitar retrabalhos, análise de logs, identificação de bugs, etc.

A recomendação é que o Code Review seja realizado por alguém experiente e que tenha uma boa visão arquitetural, além também ter um bom entendimento sobre requisitos não funcionais.

Abaixo está disponível um checklist modelo que pode ser utilizado no Code Review. Lembrando que é um modelo e poder ser ajustada ou melhorada conforme a necessidade.

Fique a vontade para reportar algum problema ou sugestão! 

“There’s a human on the other side of your code review.”

Índice

Compartilhamento de conhecimento e aprendizado em equipe

Um dos principais benefícios do Code Review é o compartilhamento de conhecimento entre os membros da equipe de desenvolvimento. Muitas vezes, o time não tem tempo para escrever artigos ou compartilhar exemplos de uso de tecnologias e melhorias no código. Nesse sentido, o Code Review se torna uma excelente oportunidade para que todos possam aprender e ensinar uns aos outros.

Por exemplo, ao revisar o código de um colega, é possível perguntar sobre a utilização de um determinado padrão de projeto e aprender mais sobre ele. Além disso, as sugestões e dúvidas levantadas durante o processo de revisão enriquecem o conhecimento de todos os envolvidos.

Soluções alternativas e melhorias no código

O Code Review é uma excelente oportunidade para identificar soluções alternativas e melhorias no código. Quando mais de uma pessoa revisa o código, é possível ter diferentes pontos de vista e opiniões sobre a implementação. Dessa forma, surgem sugestões e alternativas que podem tornar o código mais eficiente e fácil de manter.

Por exemplo, um revisor pode sugerir uma forma diferente de implementar um recurso ou melhorar a legibilidade do código. Essas sugestões podem contribuir para a melhoria do produto final e para o aprendizado da equipe.

Conhecimento compartilhado e menos dependência de um único membro da equipe

Outro benefício do Code Review é que ele ajuda a compartilhar o conhecimento do código do sistema entre todos os membros da equipe. Isso é especialmente importante para evitar a dependência de um único membro da equipe.

Por exemplo, se apenas uma pessoa sabe como determinado trecho de código funciona, isso pode se tornar um problema caso essa pessoa saia da equipe ou fique indisponível por algum motivo. Ao compartilhar o conhecimento do código através do Code Review, todos os membros da equipe entendem melhor o sistema na totalidade.

Disciplina na discussão do código e entrega de qualidade

Por fim, o Code Review ajuda a estabelecer uma cultura de disciplina na discussão do código da equipe. Com o tempo, a revisão de código se torna um hábito natural e um processo importante para a entrega de um software de qualidade. Além disso, o Code Review contribui para o desenvolvimento de um senso crítico e uma cultura de colaboração na equipe de desenvolvimento.

O que os revisores de código procuram?

As revisões de código devem observar:

Exemplo de Checklist | Code Review

Etapas

  1. Baixar o código e executar os testes localmente;
  2. Rodar a build do repositório;
  3. Analisar a cobertura de testes, bugs, code smells, códigos duplicados, segurança;
  4. Executar os testes automatizados;
  5. Validar o checklist da próxima sessão.

Checklist

Geral (Back & Front):

Back-End Java:

Front-End:

Conclusão

Enfim, pessoal, esse processo tem muito o que nos ensinar ainda, acredito que com ele podemos alcançar novos lugares no quesito qualidade de software e conhecimento como um todo. Sempre que possível, use ferramentas para analisar código, como os linters por exemplo. Acredito que a junção do lado automatizado com o lado humano do processo de code review é a chave para o sucesso.

Em resumo, o Code Review é muito mais do que uma simples revisão do código. Ele pode ajudar a promover a colaboração e o compartilhamento de conhecimento entre os membros da equipe, aumentar a qualidade do código e contribuir para uma cultura de disciplina e excelência no desenvolvimento de software.!