Revisão de código

Revisão de código

Reveja alterações de código nos clientes ChatGPT e Codex

Utilize o ChatGPT ou o Codex para compreender alterações de código, investigar possíveis problemas e preparar comentários de revisão.

Revisões de pull requests

O plugin Code Review apresenta a descrição, os ficheiros alterados, os comentários e as verificações de um pull request. Utilize-o para investigar possíveis problemas antes de aprovar.

A revisão de código do GitHub está disponível para todos. O suporte para merge requests do GitLab no Code Review está em pré-visualização. Para iniciar revisões na nuvem a partir do GitLab com @codex review ou revisões automáticas de merge requests, consulte Rever merge requests do GitLab com o Codex.

Para revisões iniciadas pelo repositório, consulte o guia de integração do GitHub e a configuração do ambiente do Codex Cloud (Legacy) .

A aplicação para computador inclui o Code Review. Pode fixá-lo na barra lateral da aplicação a partir dos plugins instalados.

Ver um pull request

  1. Abra Code Review na barra lateral.
  2. Ligue a sua conta de origem quando lhe for solicitado. Utilize uma conta com acesso ao repositório que pretende rever.
  3. Selecione um pull request na barra lateral ou introduza a respetiva ligação no campo de pesquisa.
  4. Leia o Resumo para consultar a descrição, a atividade, os comentários e as verificações. Abra Alterações para inspecionar os ficheiros alterados e os comentários junto ao diff.

Encontrar revisões que precisam de atenção

Utilize a sua caixa de entrada pessoal para encontrar pull requests do GitHub em vários repositórios. Escolha Atribuídas a mim para revisões que lhe foram solicitadas, Atribuídas à minha equipa para pedidos à equipa ou Da minha autoria para regressar às suas próprias alterações. Verifique o estado da revisão e, em seguida, abra o pull request para inspecionar os comentários e as verificações.

Para voltar a uma revisão mais tarde, selecione o ícone de alfinete na respetiva barra de ferramentas. O pull request aparece em Fixados na barra lateral.

Inspecionar ficheiros alterados e pull requests relacionados

Em Alterações, selecione Marcar como visto num ficheiro depois de o rever. Selecione o controlo novamente para remover a marcação. As marcações de visualização aplicam-se à revisão apresentada.

Para alterações distribuídas por pull requests dependentes, utilize Pilha em Resumo para abrir um pull request relacionado e inspecionar as suas diferenças, comentários e verificações. Esta secção aparece quando o Code Review encontra uma pilha de pull requests abertos.

Ler uma revisão automática na nuvem

Com o conector ChatGPT Codex, as permissões necessárias no repositório e as revisões automáticas ativadas, o Codex pode rever um pull request do GitHub antes de o abrir. Os comentários aparecem no GitHub e no Code Review.

A revisão na nuvem não exige que crie ou gira um ambiente na nuvem. Para obter informações sobre os requisitos de ligação, as definições do repositório e as revisões iniciadas com @codex review, consulte Utilizar o Codex no GitHub.

Compare os resultados da revisão com as diferenças. As revisões automáticas na nuvem são independentes das revisões que inicia na conversa do pull request.

Fazer perguntas sobre a alteração

Na conversa do pull request, descreva o comportamento esperado e peça ao Codex para explicar ou investigar a alteração.

Selecione Rever com o Codex para iniciar uma revisão numa nova conversa. Se estiver a visualizar o pull request ao lado de uma conversa existente, utilize essa conversa para fazer perguntas sobre a alteração.

Utilize as skills instaladas e as fontes ligadas para fornecer ao Codex as diretrizes de revisão ou os documentos de conceção da sua equipa. Peça-lhe para resumir a alteração e explicar os riscos e, em seguida, verifique o contexto e o código que referencia.

Por exemplo, um pull request adiciona os filtros Abertos e Fechados a um quadro de issues. Espera que Todos continue a ser a opção predefinida e que seja apresentado um estado vazio quando não houver issues correspondentes:

Walk me through this pull request. Focus on the default filter and what
happens when there are no matching issues. All should remain the default.

Peça evidências:

Show me the code path and tests for the no-matches case. Explain what is
covered and what still needs verification.

Compare as diferenças e os testes referenciados com o comportamento esperado.

Selecione um resultado para inspecionar a respetiva explicação e as linhas relevantes em Alterações. Compare-o com as diferenças mais recentes, o comportamento esperado e os testes antes de decidir se requer uma correção. Utilize a conversa de revisão para parar uma revisão em curso.

Personalizar a sua revisão

Selecione a roda dentada Instruções de revisão junto a Rever com o Codex. Pode também editar estas instruções em Definições > Code Review.

Forneça ao Codex critérios e um formato de apresentação dos resultados que se apliquem a todas as suas revisões, por exemplo:

Start with a short summary. Prioritize behavior changes, data loss, and
missing edge-case tests. For each finding, explain the triggering input,
expected behavior, and actual behavior. Use our team's concise review style.

Estas instruções aplicam-se às revisões que inicia com Rever com o Codex em todos os repositórios. As alterações efetuadas durante uma revisão em curso aplicam-se à revisão seguinte. Utilize a conversa do pull request para perguntas específicas sobre uma alteração.

Opcionalmente, selecione Banda desenhada, Visualização ou PDF para adicionar uma sugestão de instrução para explicar a alteração nesse formato. Edite o texto conforme necessário, e selecione Guardar ou Executar revisão.

Partilhar comentários e dar seguimento

Rever um pull request numa conversa não publica comentários, não o aprova nem o integra. Cabe-lhe escolher os resultados a partilhar.

Depois de verificar um potencial problema, peça ao Codex ajuda para preparar um comentário de revisão:

Using the team review guidelines we discussed, draft a comment describing
the no-matches behavior we verified, what should happen instead, and the test
that would cover it. Keep the comment as a draft.

Verifique as referências a ficheiros e linhas no rascunho antes de publicar. Mantenha os rascunhos na conversa até estar pronto: publicar em Resumo ou Alterações envia o comentário ao fornecedor de origem imediatamente, sem esperar por Submeter revisão.

Utilize Submeter revisão para escolher Comentar, Aprovar ou Solicitar alterações e enviar a sua revisão ao fornecedor de origem. Verifique a decisão selecionada e o comentário de revisão antes de submeter.

Se for o autor, volte ao seu pull request e peça ao Codex para dar resposta a comentários específicos. Inspecione as alterações resultantes e execute os testes relevantes. Antes de aprovar ou integrar, verifique a revisão mais recente, as verificações e os comentários pendentes.

A edição de descrições de pull requests com imagens anexadas não é suportada no Code Review. Abra o pull request no GitHub para editar essas descrições.

Continuar numa conversa

Quando Resumo apresentar Conversas, selecione uma conversa com ligação para retomar essa conversa. Estas são as suas conversas associadas ao pull request.

No Codex, selecione Corrigir em Verificações num pull request aberto para anexar à conversa as verificações que falharam. Esta ação prepara uma mensagem sem a enviar. Reveja ou adicione a sua instrução e, em seguida, envie-a para pedir ao Codex que investigue. Inspecione as alterações resultantes e volte a executar os testes relevantes antes de enviar uma correção para o repositório remoto.

Os diagnósticos disponíveis dependem do fornecedor das verificações. Para CI de terceiros, o Codex pode utilizar o estado e a saída comunicados ao GitHub.

Rever alterações locais

O comando /review integrado no Codex revê as alterações na sua cópia de trabalho do Git, enquanto o plugin Code Review trabalha com pull requests. Escolha o seu cliente para consultar os passos aplicáveis.

Rever na aplicação

Abra o painel de revisão para compreender o que foi alterado, fornecer comentários específicos de cada linha e decidir o que preparar, reverter, confirmar ou enviar.

Para pedir ao Codex que reveja as alterações, escreva /review no campo de composição. Escolha Rever em relação a um ramo base ou Rever alterações não confirmadas. O Codex apresenta conclusões ordenadas por prioridade sem alterar a sua árvore de trabalho.

O painel de revisão requer um projeto dentro de um repositório Git. Se o seu projeto ainda não for um repositório Git, a aplicação pede-lhe que crie um.

Escolher o âmbito da revisão

Alterações apresentadas

O painel de revisão reflete o estado do seu repositório Git, não apenas o que o Codex editou. Inclui alterações efetuadas pelo Codex, alterações efetuadas por si e quaisquer outras alterações não confirmadas no repositório.

Por predefinição, o painel de revisão apresenta alterações Não preparadas. Utilize Preparadas para o índice Git, Confirmação para uma confirmação selecionada, Ramo para a diferença em relação ao seu ramo base ou Último turno para o turno mais recente do assistente.

Rever vários repositórios

Quando um projeto local inclui várias pastas suportadas por diferentes repositórios Git, o painel de revisão pode apresentar alterações de cada repositório. Abra o seletor de repositórios no cabeçalho da revisão para inspecionar outro repositório e ver as linhas adicionadas ou removidas sem sair do painel de revisão atual.

Escolha Último turno para ver as alterações mais recentes do assistente em todos os repositórios anexados. O seletor de repositórios apresenta Todos os repositórios nessa vista. Outros âmbitos de revisão, como Não preparadas, Preparadas e Ramo, aplicam-se ao repositório que selecionar.

Trabalhar com os resultados da revisão

Resultados da revisão de código

As conclusões da revisão aparecem como comentários inline no painel de revisão.

Por predefinição, as revisões são executadas na conversa atual. Em Definições > Geral > Revisão de código, escolha Separada para iniciar uma conversa de revisão separada. Consulte as definições de programador.

Comentários de revisão de código em linha apresentados no painel de revisão

Se pedir ao Codex que aplique as correções que encontrar, aplicam-se as suas definições de sandbox e aprovação habituais.

  • Clicar no nome de um ficheiro normalmente abre esse ficheiro no editor escolhido. Pode escolher o editor predefinido nas definições de programador.
  • Clicar no fundo do nome do ficheiro expande ou recolhe as diferenças.
  • Clicar numa linha enquanto mantém Command premida abre a linha no editor escolhido.
  • Se estiver satisfeito com uma alteração, pode prepará-la para commit ou reverter alterações que não pretenda manter.

Comentários inline para fornecer feedback

Os comentários inline permitem-lhe anexar feedback diretamente a linhas específicas da diferença. Esta é frequentemente a forma mais rápida de orientar o Codex para a correção certa.

Para deixar um comentário inline:

  1. Abra o painel de revisão.
  2. Passe o cursor sobre a linha que pretende comentar.
  3. Selecione o botão + que aparece.
  4. Escreva o seu feedback e envie-o.
  5. Depois de terminar de deixar feedback, envie uma mensagem para a conversa.

Como os comentários são específicos de cada linha, o Codex pode responder com maior precisão do que perante uma instrução geral.

O Codex trata os comentários inline como orientações de revisão. Depois de deixar comentários, envie uma mensagem de seguimento que torne explícita a sua intenção, por exemplo: “Resolva os comentários inline e mantenha o âmbito mínimo.”

Preparar e reverter ficheiros

O painel de revisão inclui ações Git para que possa ajustar a diferença antes de a confirmar.

Pode preparar, retirar da preparação ou reverter alterações nestes níveis:

  • Diferença completa: utilize os botões de ação no cabeçalho da revisão, como Preparar tudo ou Reverter tudo.
  • Por ficheiro: prepare, retire da preparação ou reverta um ficheiro individual.
  • Por bloco: prepare, retire da preparação ou reverta um único bloco.

Utilize a preparação quando pretender aceitar parte do trabalho e a reversão quando pretender descartá-lo.

Estados preparado e não preparado

O Git pode representar alterações preparadas e não preparadas no mesmo ficheiro. Quando isso acontece, o painel pode apresentar o mesmo ficheiro em ambas as vistas. Este é um comportamento normal do Git.