Code Review: descubra o que você precisa saber sobre o assunto
Code Review é uma prática de revisão de código que é muito utilizada em projetos open source e por empresas de desenvolvimento de software de segurança da informação.
Desenvolver um software é uma tarefa que envolve vários processos e diversos profissionais da área. Algumas das etapas envolvidas são:
Levantamento de requisitos
Análise de Requisitos
Projeto
Implementação
Testes
Implantação
Há uma outra etapa fundamental nesse processo e que nem sempre é usada ou lembrada. Essa etapa é a de revisão de código, também conhecida como code review.
O software é escrito por seres humanos e, como sabemos, ninguém é perfeito, nós somos passíveis de erros. Sabendo disso, é possível relacionar que um software costuma ter vários erros que precisam ser corrigidos antes da implantação, por isso, fazer sua revisão é indispensável.
O que é code review?
Code Review é uma prática de revisão de código que é muito utilizada em projetos open source e por empresas de desenvolvimento de software de segurança da informação.
No quesito de segurança ela se resume a vasculhar todo o código fonte de uma aplicação a procura de vulnerabilidades, sejam elas de lógica ou funções perigosas que podem trazer riscos à aplicação. Uma revisão segura do código não tenta identificar todas as vulnerabilidades do código, mas procura fornecer uma visão dos tipos de problemas existentes e ajudar os desenvolvedores da aplicação a compreender que classes de falhas estão presentes.
E para não deixar dúvidas, eu trouxe algumas das vantagens já reveladas pelo uso do code review.
Importância e vantagens
Incentivo ao trabalho em equipe
Uma das vantagens do uso da revisão é o incentivo ao trabalho em equipe e o senso de colaboração.
Quando um código é analisado por outras pessoas e há um olhar sobre o trabalho do outro, o conhecimento acerca do que foi desenvolvido é descentralizado, distribuindo o sentimento de responsabilidade, tornando-o propriedade não só de uma pessoa, mas da equipe envolvida.
Conhecimento compartilhado
A revisão também é muito útil para o aprendizado das pessoas que compõem a equipe. Ao fazer uma análise é possível identificar erros e possíveis melhorias no trabalho, que com uma orientação adequada permite que a pessoa desenvolvedora tenha um aprendizado acelerado sobre o assunto.
Se for uma troca entre profissionais mais experientes e menos experientes essa relação se torna ainda mais engrandecedora, pois é possível ver o modo do trabalho do outro, diferentes pontos de vista e afins que contribuem para a experiência de ambos.
Além do mais, ao compartilhar a ajuda, o conhecimento é nivelado e contribui para a qualidade da equipe como um todo.
Economia e qualidade
As revisões feitas de maneira adequada, correta e eficiente promovem economia de tempo e dinheiro.
Isso porque possíveis falhas, erros de digitação e melhorias são identificados antes da implantação do código, evitando defeitos no software e impacto negativo no ambiente de produção, poupando tempo e dinheiro de fazer uma implementação que, posteriormente, terá necessidade de ser alterada.
A revisão agiliza o processo de desenvolvimento e reduz o trabalho realizado pelas equipes de Garantia de Qualidade.
Todas essas vantagens revelam a importância da revisão e mostram como sua aplicação é capaz de garantir maior qualidade de um software.
Revisão automatizada, manual ou mista
O code review pode ser abordado de forma automática, manual ou mista.
Abordagem automatizada
A revisão automatizada, como o próprio nome sugere, é realizada de forma automática por meio do uso de uma ferramenta.
Essas análises garantem mais agilidade, economizando no tempo dedicado ao processo.
Por mais que essas ferramentas revisem para você, sejam mais rápidas, eficientes e fáceis de usar, elas possuem seus pontos negativos.
Ela é limitada em relação a capacidade humana, por isso pode acontecer dela ler partes de um código e não conseguir revisá-lo adequadamente.
As ferramentas também não têm acesso ao ambiente e o contexto em que o código foi desenvolvido, como acesso a dados e permissões do sistema. Elas apenas olham o código pronto.
Abordagem manual
A revisão manual é realizada por uma pessoa desenvolvedora. Essa maneira permite uma análise diferenciada da automática.
A revisão manual possui algumas vantagens em relação à automatizada. Por ser realizada por uma pessoa, ela permite maior interação entre a equipe; o contexto em que o código foi desenvolvido é conhecido pelo(a) revisor(a), assim como o ambiente de desenvolvimento; ela também entende quem são os usuários e o objetivo do código.
Apesar dos pontos positivos apresentados e da constante discussão de qual revisão é a mais eficiente – se automatizada ou manual – há análises que indicam o uso de ambas, para que suas funcionalidades se complementam, ou seja, a melhor maneira de realizar um code review seria por meio da revisão mista.
Mista
É importante entender que não é indicado falar de substituição, mas sim em conciliação, ou seja, equilibrar o uso da revisão automatizada com a manual.
A sugestão é: primeiro faça a revisão automatizada e depois a manual. A revisão mista garante feedbacks mais assertivos.
Conte com uma empresa comprometida com a entrega de seu software, afinal, o produto pode até ser entregue sem a revisão de código, mas vimos que com essa etapa a qualidade é muito maior.
Aproveite para acompanhar a Doutbox em suas redes sociais para conferir tudo que temos feito e fique à vontade para tirar todas as suas dúvidas sobre como funcionamos. Vem falar com a gente!