Code Review da teoria a pratica
"Code review" é um do mecanismo do Workflow de desenvolvimento, como a premissa de revisar de código muito utilizada em projetos open source e também por empresas de desenvolvimento de software.
Como funciona a mecânica
Para fazer o code review, o desenvolvedor tem que solicitar o "Pull request" da branch com a modificação, para a "branch destino", não podendo mais fazer o Merge diretamente.
Ex.: Master <- bug-0001
Após a solicitação aos demais membros do time, os mesmos validam as modificações, aprovando ou rejeitando as mudanças.
A quantidade de aprovações depende da convenção do time, o ideal é que sejam 2 ou mais.
Caso aprovado o desenvolvedor está apto para fazer o Merge com a “branch destino”.
O que precisa ser validado no code review?
O desenvolvedor incumbido desta tarefa, é o "guardião do sistema", precisa revisar de código com atenção, levando em conta alguns fatores importantes:
Segurança
Não podem gerar vulnerabilidade no sistema, deixando brechas para invasões ou exposição de dados sensíveis
Padronização e boas praticas
Cada linguagem tem sua própria topologia de desenvolvimento e muitas linguagens tem mais de uma topologia.
Algumas linguagens adotam as "boas práticas" (Requisitos que o código deve ter para seguir um padrão, visando a legibilidade do código).
Cabe ao time definir e manter a padronização do sistema.
Requisitos e regras de negócios
Bug — Se as modificações são para a correção de um bug, o mesmo não pode modificar outras regras existentes, o mesmo deve se ater apenas na correção do mesmo.
Features — Se as modificações são para novas funcionalidades ou modificação nas funcionalidades existente, como no caso do Bug não pode modificar outras regras existentes, mas neste caso é necessário validar se todas as regras previstas foram implementadas ou modificadas.
Erro ou falhas
É preciso ficar atento a possíveis pontas soltas, pontos que podem dar problema em cenários específicos, principalmente nos que fogem do famoso cenário "feliz"
Melhor solução
Existe mais de uma forma de atender o que foi solicitado, por isso é preciso identificar a melhor alternativa para cada caso.
Quais são os principais ganhos para o time que adota o Code Review?
Existe uma série de benefícios para o time, dentre eles destacam-se:
- Padronização de código;
- Qualidade da entrega;
- Entregar a solução mais adequada;
- Garantir que as modificações não vão gerar efeitos colaterais;
- Aumentar a taxa de aprovação pela área cliente;
- Criar o sentimento de Dono — gerando zelo;
- Senso de equipe — A entrega é do time e não individual;
- Compartilhamento de conhecimento, aumentando o nível técnico.
Conclusão
Este artigo tem como objetivo mostrar os ganhos em implementar o Code Review no Workflow dos times de desenvolvimento e principalmente na qualidade da entrega.
Entender isso é fundamental para que possamos melhorar como desenvolvedores e evoluir na carreira.
Então bora pratica