Vantagens do Code Review

Vantagens do Code Review

Code Review

Você já ouviu falar de Code Review? Já utilizou? Sabe do que se trata?
Neste tópico abordaremos um pouco deste assunto e vamos explorar algumas vantagens de se trabalhar com code review no cotidiano.

O que é Code Review

Code review é a prática onde o código fonte escrito ou editado por um desenvolvedor é revisado por um segundo desenvolvedor antes  destas alterações serem liberadas para o usuário. Em outras palavras, após você concluir suas implementações em um software, um segundo desenvolvedor de sua equipe (preferencialmente) fará uma revisão deste código fonte, com a intenção de identificar possíveis problemas que passaram despercebidos ou sugerir melhores formas para solucionar o problema.

Como funciona o code review

Há algumas formas para se trabalhar com code review, o importante é que o código seja liberado para versão oficial somente após a revisão pelo segundo desenvolvedor, mas como este trâmite vai funcionar, fica a critério de cada equipe ou empresa.

Uma das possíveis formas e utilizar o GitHub como facilitador deste processo. Quando se está trabalhando com projetos no GitHub, podemos definir uma branch principal, onde o código fonte da versão oficial ficará e para as alterações do cotidiano, utilizamos uma segunda branch, assim, sempre que alteramos o código fonte e submetemos as alterações para o servidor do GitHub, criamos o que é chamado de Pull Request.

Para explicar o fluxo acima, podemos analisar a imagem abaixo:

Neste caso, temos a branch master como nossa branch principal, onde o código será disponibilizado ao usuário na versão oficial do software. Quando precisamos realizar alguma alteração, criamos a branch dev, onde temos uma “cópia” do código fonte. Assim fazemos as alterações necessárias na branch dev sem impactar diretamente a versão oficial e posteriormente, quando tudo estiver concluído, criamos o Pull Request no GitHub.

O Pull Request é a solicitação de merge das nossas alterações para a branch master, ou seja, solicitamos que as alterações sejam mescladas/unificadas.

– Ok, até aqui entendido, mas onde entra o code review?

O processo de code review acontece neste momento. Com nosso pull request aberto, é necessário que sejam resolvidos os possíveis conflitos (caso existam) entre as branches e posteriormente unificados os códigos, no momento de realizar o merge das alterações um segundo desenvolvedor fará a análise do código fonte através da ferramenta do GitHub.

Neste processo, o segundo desenvolvedor consegue verificar tudo o que foi incluído, alterado ou excluído no código e caso identifique algo suspeito, poderá alertar o primeiro desenvolvedor para que faça o ajuste antes que seja mesclado na versão oficial.

Observação: Por este motivo é importante que seja adotado o processo de que o desenvolvedor nunca faça o merge das próprias alterações.

Além disso, quando trabalhamos com branches, o processo não bloqueia as alterações, não é necessário aguardar que o code review seja feito para que possa prosseguir à uma nova tarefa.
Assim que outro desenvolvedor estiver disponível ele fará análise da sua alteração, basta você trabalhar em branches diferentes para cada alteração.

Como o code review pode ajudar na evolução da minha aplicação?

Com uma verificação do código fonte feita por uma pessoa diferente da pessoa que desenvolveu, podem ser identificadas possíveis falhas, vulnerabilidades ou melhorias no código fonte que não foram percebidas anteriormente, isto se dá pelo fato de que a pessoa que faz a revisão do código não está inserida no contexto da alteração, sem contar que há compartilhamento de conhecimento entre a equipe.

Utilizando o processo de code review, conhecimentos úteis relacionados a linguagem de programação, lógica e algoritmos são compartilhados de forma natural, disseminando conhecimento entre a equipe envolvida.

Vale salientar que o code review não elimina os testes do desenvolvedor e os testes na aplicação, esta é apenas uma etapa para garantir a qualidade do software através do código fonte, não substituindo os testes práticos. O processo de code review na maioria das vezes não poderá demonstrar todos os problemas que seriam identificados em um teste prático, isto porque o desenvolvedor que está fazendo a análise não necessariamente está executando a aplicação, apenas fazendo uma análise estática, baseado em conhecimentos da linguagem de programação.

Conclusão

Vimos que o code review pode nos ajudar a melhorar o código fonte de nosso software quando trabalhamos em equipe. Podemos definir em tópicos algumas das vantagens:

  • Identificar possíveis falhas, vulnerabilidades e melhorias no código que não foram identificadas em um teste prático, devido a um teste viciado, por exemplo.
  • Compartilhar conhecimento da linguagem de programação em que se está trabalhando, bem como de lógica e algoritmo.
  • Não bloqueia o início de novas tarefas.
  • Ajuda a padronizar o código fonte da aplicação, uma vez que regras de implementação são definidas, com o processo de code review, estas regras podem ser verificadas e sinalizadas caso exista algo fora do padrão.

Por fim, esperamos que este artigo lhe tenha sido útil, nos envie críticas e sugestões através do contato da página!

Cursando Bacharel em Ciência da Computação pela Fundação Universidade Regional de Blumenau – FURB, curioso sobre plataformas web e o mundo da IoT.

%d bloggers like this: