Série de artigos sobre o livro As Regras da programação de Chris Zimmerman. O livro trata de 21 regras que ajudam programadores a criarem códigos melhores. Em cada post falo um pouco sobre cada regra do meu ponto de vista trazendo alguns exemplos e opiniões sobre o livro, com o objetivo principal de consolidar e compartilhar o conhecimento.
O Code Review é uma prática amplamente difundida na área de desenvolvimento de software, mas ainda há programadores que se sentem desconfortáveis ou inseguros com a ideia de ter seu código revisado por outra pessoa, como se isso representasse uma invasão de privacidade.
Vamos explorar a importância das revisões de código e como elas impactam diretamente nosso dia a dia, sob uma perspectiva um pouco diferente.
"O valor das revisões de código depende do tempo e esforço investidos nelas, e de como elas são conduzidas."
A razão mais óbvia para adotar a prática de Code Review é a identificação de bugs. Mas será que isso é realmente o mais importante? Esse livro destaca que para que a revisão seja eficaz, é necessário um processo consciente, onde o revisor tenha conhecimento ou até mesmo domínio sobre o código. Só assim ele será capaz de identificar possíveis problemas na implementação. Além disso, a revisão deve ser um diálogo. O livro afirma que o debate entre as partes é essencial para que todos compreendam os diferentes pontos de vista e sugiram melhorias de maneira mais assertiva.
"As revisões de código encontram bugs, mas não encontram todos."
Embora identificar bugs seja uma boa razão para revisar código, não é a única, nem a mais importante. A seguir, veremos outras razões igualmente relevantes.
Quando realizadas corretamente, as revisões são uma excelente ferramenta para disseminar conhecimento na equipe. Esse é um dos pontos mais importantes. Mas o que significa "corretamente"? O autor divide os programadores em duas categorias: sênior (aqueles que têm domínio sobre o código) e júnior (aqueles que ainda estão se familiarizando com o funcionamento do código). Segundo ele, existem três combinações entre revisores que trazem bons resultados:
- Sênior revisando código de Júnior: Nessa combinação, o programador sênior não apenas busca bugs, mas também aponta falhas na qualidade ou desvio de padrões que o júnior pode não ter percebido.
- Júnior revisando código de Sênior: Aqui, o júnior pode não encontrar muitos bugs, mas ao fazer perguntas ao sênior, ele compreende melhor o contexto e aumenta seu conhecimento sobre o código.
- Sênior revisando código de outro Sênior: Essa combinação aumenta a probabilidade de encontrar bugs, além de gerar discussões sobre melhorias, testes adicionais e o futuro do projeto.
Por que um júnior não deve revisar o código de outro júnior? Em muitos casos, esse processo não traz benefícios significativos, pois há pouca transferência de conhecimento e menos contexto para identificar problemas.
"Qualquer pessoa escreve código melhor quando sabe que será revisado."
De acordo com Zimmerman, a razão mais importante para as revisões de código é de natureza social. Quando sabemos que outra pessoa vai analisar nosso código, há uma pressão positiva que nos leva a "caprichar". Seguimos os padrões com mais rigor, evitamos deixar tarefas pela metade e procuramos soluções mais completas. No fim, nos esforçamos para escrever um código do qual nos orgulhamos de compartilhar.
"As revisões de código são inerentemente sociais."
Em conclusão, revisões bem conduzidas são cruciais por três motivos: ajudam a encontrar bugs, disseminam conhecimento e promovem a escrita de código de qualidade. Elas devem ser um processo colaborativo, onde o diálogo é a chave para uma revisão eficaz, com ambas as partes dispostas a aprender e a escutar.
Um processo de revisão saudável fortalece tanto a base de código do projeto quanto as conexões da equipe.
Top comments (0)