Os benefícios das revisões de código são muitos: alguém verifica se há erros em seu trabalho, eles aprendem com sua solução e a colaboração ajuda a melhorar a abordagem geral da organização para ferramentas e automação. Se você não estiver fazendo revisões de código em…

Tenho feito revisões de código no dia a dia há mais de uma década. Os benefícios das revisões de código são muitos: alguém verifica se há erros em seu trabalho, eles aprendem com sua solução e a colaboração ajuda a melhorar a abordagem geral da organização para ferramentas e automação. Se você não está fazendo revisões de código em sua organização, comece agora. Isso tornará todo mundo um engenheiro melhor.

Muitas pessoas e organizações compartilharam suas melhores práticas de revisão de código e o que a definição de boas revisões de código significa para eles. Guias do Google , a equipe SmartBear e o engenheiro Philipp Hauersão todas leituras excelentes. Abaixo está minha opinião pessoal sobre como são as boas revisões de código e como torná-las ainda melhores no nível de equipe e organizacional. Isso está no contexto do ambiente de tecnologia em que tenho trabalhado – atualmente no Uber, e antes disso no Skype / Microsoft e Skyscanner.

Boas revisões de código são a barreira pela qual todos nós devemos nos esforçar. Eles abrangem práticas recomendadas comuns e fáceis de seguir que qualquer equipe pode começar, ao mesmo tempo que garantem avaliações úteis e de alta qualidade em longo prazo.

Melhores revisões de códigoé onde os engenheiros continuam melhorando a forma como fazem revisões de código. Essas revisões de código examinam a alteração do código no contexto da base de código, de quem está solicitando e em que situação. Essas revisões ajustam sua abordagem com base no contexto e na situação. O objetivo não é apenas uma revisão de alta qualidade, mas também ajudar os desenvolvedores e equipes que solicitam a revisão a serem mais produtivos.

 

 

Áreas cobertas pela revisão do código

 

 

Boas revisões de código examinam a mudança em si e como ela se encaixa na base de código. Eles examinarão a clareza do título e da descrição e o “porquê” da mudança . Eles cobrem a exatidão do código, cobertura de teste, alterações de funcionalidade e confirmam que seguem os guias de codificação e as práticas recomendadas. Eles apontarão melhorias óbvias, como código difícil de entender, nomes pouco claros, código comentado, código não testado ou casos extremos não tratados. Eles também notarão quando muitas alterações são agrupadas em uma revisão e sugerem manter as alterações de código com um único propósito ou dividir a alteração em partes mais focadas.

Melhores revisões de códigoobserve a mudança no contexto do sistema maior, bem como verifique se as mudanças são fáceis de manter. Eles podem fazer perguntas sobre a necessidade da mudança ou como ela afeta outras partes do sistema. Eles examinam as abstrações introduzidas e como elas se encaixam na arquitetura de software existente. Eles observam observações de manutenção, como lógica complexa que pode ser simplificada, melhorando a estrutura de teste, removendo duplicações e outras melhorias possíveis. O engenheiro Joel Kemp descreve ótimas revisões de código como uma passagem contextual após uma passagem inicial leve.

 

Tom da revisão

 

O tom das revisões de código pode influenciar muito o moral das equipes. Críticas com tom áspero contribuem para a sensação de ambiente hostil com suas microagressões. A linguagem opinativa pode deixar as pessoas na defensiva, gerando discussões acaloradas. Ao mesmo tempo, um tom profissional e positivo pode contribuir para um ambiente mais inclusivo. As pessoas nesses ambientes estão abertas a feedback construtivo e as revisões de código podem, em vez disso, desencadear discussões saudáveis ​​e animadas.

Boas revisões de códigofaça perguntas abertas em vez de fazer declarações fortes ou opinativas. Eles oferecem alternativas e possíveis soluções alternativas que podem funcionar melhor para a situação, sem insistir que essas soluções são a melhor ou a única maneira de proceder. Essas revisões assumem que o revisor pode estar faltando alguma coisa e pedem esclarecimentos em vez de correção.

Melhores revisões de código também são empáticas. Eles sabem que a pessoa que está escrevendo o código gastou muito tempo e esforço nessa mudança. Essas revisões de código são gentis e despretensiosas. Eles aplaudem boas soluções e são totalmente positivos.

 

Aprovando vs. Solicitando Mudanças

 

Depois que um revisor conclui sua revisão, ele pode marcá-la como aprovada, bloquear a revisão com solicitações de mudança ou não definir um status específico, deixando-a em um estado “ainda não aprovado”. A maneira como os revisores usam os status de aprovação e solicitação de mudanças informa sobre as revisões de código.

Boas revisões de código não aprovam alterações enquanto houver perguntas abertas. No entanto, eles deixam claro quais perguntas ou comentários não são bloqueadores ou não são importantes, marcando-os de forma distinta. Eles são explícitos ao aprovar uma alteração – por exemplo, adicionar um comentário positivo como “parece bom!”. Alguns lugares usam siglas como LGTM—Estes também funcionam, mas esteja ciente de que os recém-chegados podem interpretar erroneamente esses acrônimos internos por outra coisa. Boas revisões de código são igualmente explícitas quando solicitam um acompanhamento, usando a ferramenta de revisão de código ou convenção de equipe para comunicar isso.

 

 

 

Melhores revisões de código são firmes no princípio, mas flexíveis na prática: às vezes, certos comentários são tratados pelo autor com uma alteração de código de acompanhamento separada. Para alterações mais urgentes do que outras, os revisores tentam se disponibilizar para revisões mais rápidas.

 

De revisões de c&oac