View on GitHub

manual-da-engenharia-para-codar

Este é o manual para compromissos de "código com" a engenharia.

Orientação do Processo

Orientações Gerais

As revisões de código devem fazer parte do processo da equipe de engenharia de software, independentemente do modelo de desenvolvimento. Além disso, a equipe deve aprender a realizar revisões de forma oportuna. Pull requests (PRs) deixados pendentes podem causar problemas adicionais de mesclagem e ficarem desatualizados, resultando em trabalho perdido. PRs qualificados devem refletir tarefas bem definidas e concisas, sendo, portanto, compactos em conteúdo. A revisão de uma única tarefa deve levar relativamente pouco tempo para ser concluída.

Para garantir que o processo de revisão de código seja saudável, inclusivo e atenda aos objetivos mencionados acima, considere seguir estas diretrizes:

Medindo o Processo de Revisão de Código

Se a equipe perceber que as revisões de código estão demorando muito para serem mescladas e estão se tornando um obstáculo, considere as seguintes recomendações adicionais:

  1. Meça o tempo médio necessário para mesclar um PR por ciclo de sprint.
  2. Revise durante a retrospectiva como o tempo para mesclar pode ser melhorado e priorizado.
  3. Avalie o tempo para mesclar ao longo dos sprints para ver se o processo está melhorando.
  4. Lembre os aprovadores necessários diretamente como lembrete.

As revisões de código não devem incluir muito código

É fácil dizer que um desenvolvedor pode revisar algumas centenas de linhas de código, mas quando o código ultrapassa uma certa quantidade de linhas, a eficácia na descoberta de defeitos diminuirá, e há menos chances de fazer uma boa revisão. Não se trata de estabelecer um limite de linhas de código, mas sim de usar o bom senso. Quanto mais código houver para revisar, maiores são as chances de deixar um erro passar despercebido. Consulte Orientação de Tamanho de PR.

Automatize sempre que for razoável

Use automação (linting, análise de código etc.) para evitar a necessidade de “nits” e permita que o revisor se concentre mais nos aspectos funcionais do PR. Configurando compilações automatizadas, testes e verificações (algo alcançável no processo de CI), as equipes podem economizar tempo dos revisores humanos e permitir que eles se concentrem em áreas como design e funcionalidade para uma avaliação adequada. Isso garantirá maiores chances de sucesso, pois a equipe está se concentrando no que realmente importa.

Orientações Específicas por Função