O que é code review e como utilizá-lo da melhor forma?

profile photo
Lethicia
Para desenvolver um software com qualidade, é fundamental implementar um fluxo de code review. Essa prática consiste em dois indivíduos, o autor e o revisor. O primeiro é o responsável pelo código e, o segundo, por avaliar e propor melhorias para o trabalho.
Por vezes, o code review pode ser deixado de lado por parecer um obstáculo entre código e a implementação. Afinal, existe uma etapa a mais de trabalho entre os dois pontos e, consequentemente, demanda mais tempo até a realização completa da tarefa. A melhor maneira de lidar com isso é entender, de fato, a importância da prática e torná-la parte da cultura da empresa.

Por que adotar o code review?

Até os mais seniores dos desenvolvedores estão suscetíveis a cometer erros ao codar. Por isso, é sempre bom poder contar com uma segunda pessoa para revisar o código e resolver bugs e falhas que o próprio autor pode ter deixado passar. Mais do que isso, o code review dá a chance de implementar melhorias que beneficiarão a todo o time.
A prática também garante que, com o tempo, o código possa continuar sendo aprimorado. Se bem feito, o code review assegura que desenvolvedores novos, em seu primeiro contato com o projeto, entendam o propósito do software e sigam trabalhando para que o que já está bom fique ainda melhor. Isso significa um código escalável, simplificado e de maior qualidade.
Além das questões técnicas, o code review resulta em momentos perfeitos para aprimorar o trabalho em equipe e as soft skills (que, como você já sabe, são imprescindíveis para qualquer desenvolvedor que deseja crescer na carreira). A troca entre autor e revisor deve ser incentivada justamente como um momento de aprendizado, mas é aí que entra o desafio.

Por que alguns desenvolvedores evitam fazer code review?

Você já deve ter percebido que essa prática de revisão resulta em diversos benefícios para os envolvidos, empresa e time no geral, certo? Por que, então, vemos profissionais relutantes a encarar o processo?
A resposta é simples: apesar de o code review ter tudo para ser uma prática que promove crescimento e evolução para ambos os envolvidos, muitos autores pensam estar sendo avaliados e julgados por um mau resultado, ocasionando em ansiedade e preocupação.
Além de ser uma péssima situação para o desenvolvedor, que teme ser taxado como um profissional ruim e sofrer as consequências disso, toda a organização também sofre os efeitos negativos. Devido a uma ideia equivocada, todos os benefícios do code review se perdem. Bugs, falhas e outros obstáculos para um bom funcionamento continuam sem ser notados e resolvidos.

Como resolver a situação?

Entre as funções de qualquer líder (inclusive os técnicos) a motivação e bem-estar do time deve estar presente. É preciso relembrar a importância do code review e explicitar que as críticas do revisor sempre devem ser direcionadas ao código, não ao autor. Ainda, erros devem ser vistos como parte da realidade do desenvolvimento de software, de modo a evitar sobrecarga emocional nos profissionais de tech.
Palestras, reuniões e momentos dedicados unicamente para humanizar o processo são ótimas maneiras de começar a levar a empatia para a cultura da empresa. Claro que, para o code review atingir o seu potencial máximo, é essencial que autores de códigos saibam aproveitar as sugestões feitas sem internalizar as críticas (que devem ser construtivas).
A fim de facilitar o processo de code review, crie uma wiki com todas as práticas feitas no projeto e use checklists, busque incorporar automações aos trabalhos manuais e utilize ferramentas como SonarQube, Findbugs, Checkstyle e Android Lint.
A partir do momento que toda a equipe absorve e entende a importância do code review, e este é tratado com seriedade e feito com frequência, os vários resultados positivos serão facilmente percebidos.
post image
technology
programming
recursion
Programação recursiva
À primeira vista, o processo de recursão pode parecer causar mais dor de cabeça do que realmente solucionar questões. Mas a verdade é que, com esta técnica, os problemas são reduzidos e simplificados até serem resolvidos. Existem ...
post image
neural networks
programming
coding
technology
Redes neurais artificiais
Warren McCulloch e Walter Pitts criaram um modelo computacional que abriu o caminho para a pesquisa da rede neural dividida em duas abordagens: uma de processos biológicos no cérebro e outra focada na aplicação de redes neurais à ...
Powered by Notaku