Partilhar via


Receba feedback com pedidos pull

As solicitações pull suportam a revisão e a fusão de código em um único processo colaborativo. Depois que um desenvolvedor adiciona um recurso ou uma correção de bug, ele cria uma solicitação pull para iniciar o processo de mesclagem das alterações na ramificação upstream. Outros membros da equipe têm a chance de revisar e aprovar o código antes que ele seja finalizado. Use solicitações pull para revisar trabalhos em andamento e obter feedback antecipado sobre as alterações. Mas não há compromisso de fundir as mudanças. Um proprietário pode abandonar um pull request a qualquer momento.

Obter código revisado

A revisão de código feita como parte de uma solicitação pull não é apenas para encontrar bugs óbvios; é para isso que servem os testes. Uma boa revisão de código deteta problemas menos óbvios que podem levar a problemas dispendiosos mais tarde.

As revisões de código ajudam a proteger a equipe de fusões incorretas e compilações quebradas que minam a produtividade da equipe. As avaliações detetam problemas antes da mesclagem, protegendo ramificações importantes contra alterações indesejadas.

As revisões de código também incentivam e fortalecem a colaboração e a comunicação entre desenvolvedores. E a equipe ganha um histórico claro de todas as alterações feitas entre a ramificação principal e as ramificações de recurso.

Trocar conhecimentos e espalhar estratégias de resolução de problemas usando uma ampla gama de revisores em revisões de código. A difusão de competências e conhecimentos torna a equipa mais forte e resiliente.

Dê um ótimo feedback

As avaliações de alta qualidade começam com feedback de alta qualidade. As chaves para um excelente feedback em um pull request são:

  • Peça às pessoas certas que analisem o pull request.
  • Certifique-se de que os revisores saibam o que o código faz.
  • Dê feedback prático e construtivo.
  • Responda aos comentários em tempo hábil.

Ao atribuir revisores a uma solicitação pull, certifique-se de selecionar o conjunto certo de revisores. Os revisores devem saber como o código funciona, mas também incluir desenvolvedores que trabalham em outras áreas para que possam compartilhar suas ideias.

Forneça uma descrição clara das alterações e forneça uma compilação do código que tem a correção ou recurso funcionando nele. Os revisores devem fazer um esforço para fornecer feedback sobre as alterações com as quais não concordam. Identificar o problema e dar sugestões específicas sobre o que poderia ser feito de forma diferente. Esse feedback tem uma intenção clara e é fácil de entender para o proprietário da solicitação pull.

O autor do pedido de pull deve responder aos comentários, aceitar sugestões ou explicar por que se recusa a aplicá-las. Algumas sugestões são boas, mas podem estar fora do escopo do pull request. Adote estas sugestões e crie novos itens de trabalho e ramificações de funcionalidades separados do pedido de pull para efetuar essas alterações.

Proteja as filiais com políticas

Existem alguns ramos críticos em um repositório que as equipes confiam em estar sempre em boa forma, como o main ramo. As equipes podem exigir solicitações pull para fazer alterações nessas ramificações com plataformas como GitHub e Azure DevOps. Os desenvolvedores que enviarem alterações diretamente para as ramificações protegidas terão seus pushes rejeitados.

Adicione condições adicionais a pedidos de pull para assegurar um nível mais alto de qualidade do código em branches chave. Uma compilação limpa do código mesclado e a aprovação de vários revisores são alguns requisitos extras geralmente empregados para proteger ramificações importantes.

Mais informações

O GitHub tem uma extensa documentação sobre como propor alterações ao seu trabalho com solicitações pull.

Leia mais sobre como dar um ótimo feedback em revisões de código e usar modelos de solicitação pull para fornecer orientação aos seus revisores. O Azure DevOps também oferece uma experiência avançada de solicitação pull que é fácil de usar e dimensionada conforme necessário.