Estou tentando vender minha organização pelo valor das revisões de código. Eu trabalhei em vários lugares onde eles estavam empregados. Eu os vi acostumados a escolher escolhas de estilo e decisões funcionais, e os vi usados como nada mais que uma verificação do intestino para garantir que nada de perigoso esteja sendo implementado. Minha intuição é que o objetivo mais eficaz está em algum lugar entre as duas opções.
Então, qual é o objetivo de uma revisão de código?
code-reviews
theory
SoylentGray
fonte
fonte
Respostas:
Há várias razões pelas quais você deseja realizar uma revisão de código:
Existem vários casos de negócios para conduzir revisões:
Se você estiver procurando por uma discussão abrangente sobre os benefícios e estratégias de implementação das revisões por pares, recomendo verificar as Revisões por pares em Software: um guia prático de Karl Wiegers .
fonte
this
contexto, não o usou.hasOwnProperty
nos locais em que deveria estar, etc., etc. - Então, principalmente para os padrões. Em um idioma gerenciado como o C #, é claro que você tem vários motivos menos que os idiomas dinâmicos.Revisões de código são uma ferramenta para transferência de conhecimento .
Quando os desenvolvedores revisam o código um do outro, eles adquirem familiaridade em todas as áreas do sistema. Isso reduz o fator de barramento de um projeto e torna os desenvolvedores mais eficientes quando precisam fazer manutenção em uma parte do sistema que eles não escreveram.
Quando um programador júnior revisa o código de um sênior, o programador júnior pode aprender truques que, de outro modo, só serão aprendidos através da experiência. Isso também pode funcionar como um corretivo em relação a códigos excessivamente complicados.
Uma revisão completa do código exigirá verificações frequentes em várias documentações. É uma ótima maneira de aprender um idioma ou API.
Quando um programador sênior analisa o código de um júnior, esta é uma oportunidade para resolver problemas antes que eles se convertam em dívida técnica. Uma revisão de código pode ser uma boa configuração para orientar programadores juniores.
As revisões de código não são sobre:
... encontrando bugs. É para isso que servem os testes. Ainda ocorrerá frequentemente que uma revisão de código encontra algum problema.
… Escolhendo questões de estilo - aceite um estilo e use formatadores automáticos para aplicá-lo. Mas há muitas coisas que uma ferramenta automatizada não pode verificar. As revisões de código são um bom local para garantir que o código esteja suficientemente documentado ou se auto-documente.
fonte
A coisa mais valiosa que recebo pessoalmente de uma revisão de código é a confiança de que o código é claro para outra pessoa. As variáveis estão claramente nomeadas? O objetivo de cada pedaço de código é razoavelmente óbvio? Alguma coisa ambígua foi esclarecida com um comentário? Os casos extremos e os valores válidos para os parâmetros são descritos nos comentários e verificados no código?
fonte
Gostaria de adicionar duas áreas não cobertas pelas outras ótimas respostas:
Um ótimo motivo para a revisão de código é o efeito Hawthorne, que no nosso caso se traduz em: Se você sabe que alguém analisará seu código posteriormente, é muito mais provável que você o escreva melhor em primeiro lugar.
Outro ótimo motivo é para melhores práticas de desenvolvimento seguras. É necessário apenas olhar para o goto fail da Apple (uma linha de código duplicada acidental) ou o bug Heartbleed (uma falha básica na validação de entrada) para entender a importância de análises de código apropriadas em um ciclo de vida de desenvolvimento seguro.
fonte