Examinar as práticas recomendadas do GitHub Copilot

Concluído

GitHub Copilot para Visual Studio Code ajuda os desenvolvedores a escrever código mais rapidamente e com menos erros.

No entanto, GitHub Copilot é um programador de pares de IA, não um programador. Para aproveitar ao máximo GitHub Copilot, você precisa seguir as práticas recomendadas.

Escolha a ferramenta de GitHub Copilot correta para o trabalho

Embora os recursos de preenchimento de código do GitHub Copilot e os recursos de chat do GitHub Copilot compartilhem algumas funcionalidades, as duas ferramentas são melhor usadas em circunstâncias diferentes.

As conclusões de código fornecem o maior valor quando usadas para:

  • Concluir snippets de código, nomes de variáveis e funções enquanto você os escreve.
  • Gerar código repetitivo.
  • Gere código com base em comentários embutidos em linguagem natural.
  • Gerar testes para desenvolvimento controlado por teste.

Como alternativa, os recursos de chat do GitHub Copilot fornecem mais valor quando estão acostumados a:

  • Responda a perguntas sobre código em linguagem natural.
  • Gere grandes seções de código e itere nesse código para atender às suas necessidades.
  • Execute tarefas específicas usando participantes do chat, comandos de barra e variáveis de chat. Os participantes do chat (como @vscode ou @terminal) definem o contexto para uma solicitação, os comandos com barra (como /explain ou /fix) comunicam sua intenção, e as variáveis de chat (como #file ou #codebase) focam o Copilot em um contexto específico. Diferentes participantes e comandos estão disponíveis em diferentes plataformas do GitHub Copilot Chat.
  • Concluir uma tarefa como uma persona específica. Por exemplo, você pode dizer ao GitHub Copilot Chat que é um desenvolvedor sênior do C++ que se preocupa muito com a qualidade do código, a legibilidade e a eficiência. Depois de estabelecer a persona, você pode pedir a GitHub Copilot para revisar seu código.

Aproveite ao máximo as sugestões em linha do GitHub Copilot

GitHub Copilot apresenta sugestões automaticamente para ajudá-lo a codificar com mais eficiência. GitHub Copilot fornece sugestões melhores quando você segue determinadas ações e comportamentos. Talvez você já esteja seguindo algumas dessas ações e comportamentos, já que elas ajudam você e seus colegas a entender o código.

Fornecer contexto para GitHub Copilot

GitHub Copilot funciona melhor quando tem contexto suficiente para saber o que você está fazendo e com o que você quer ajuda. Assim como você fornece a um colega contexto relevante ao solicitar ajuda, você precisa fornecer GitHub Copilot com contexto.

Abrir arquivos

Para conclusões de código, GitHub Copilot examina os arquivos abertos no editor para estabelecer o contexto e criar sugestões apropriadas. Ter arquivos relacionados abertos em Visual Studio Code ao usar GitHub Copilot ajuda a definir o contexto e permite que GitHub Copilot veja a imagem maior do seu projeto.

Comentário de alto nível

Assim como você daria uma breve introdução de alto nível a um colega de trabalho, um comentário de nível superior em um arquivo de código pode ajudar GitHub Copilot entender o contexto geral do código que você está criando.

Inclusões e referências apropriadas

É melhor definir manualmente as referências de inclusões ou módulos necessárias para seu trabalho. GitHub Copilot pode fazer sugestões, mas você provavelmente sabe melhor quais dependências precisa incluir. Isso também pode informar GitHub Copilot sobre as estruturas, bibliotecas e suas versões que você gostaria que elas usssem ao criar sugestões.

Nomes de função significativos

Assim como um método chamado fetchData() não significará muito para um colega de trabalho (ou você após vários meses), fetchData() não ajudará GitHub Copilot a entender seu código. O uso de nomes de função significativos ajuda GitHub Copilot a gerar sugestões que fazem o que você deseja.

Comentários específicos e de função com escopo

Um nome de função pode ser descritivo sem ser excessivamente longo. Comentários de função podem ajudar a preencher detalhes que o GitHub Copilot possa precisar saber.

Prime GitHub Copilot com código de exemplo

Um truque para obter GitHub Copilot na página certa é copiar e colar exemplos de código desejáveis em uma guia de editor aberto. O exemplo deve representar o código que você deseja que GitHub Copilot emular. Fornecer um exemplo pode ajudar GitHub Copilot gerar sugestões que correspondam ao idioma e às tarefas que você deseja que emule. Depois que GitHub Copilot tiver ajudado você a criar algum código que corresponda à sua meta, você poderá excluir o código de exemplo. Essa abordagem é especialmente útil quando você precisa "treinar" GitHub Copilot. Por exemplo, suponha que o GitHub Copilot defina como padrão sugerir trechos de código que implementam uma versão mais antiga de uma biblioteca. Você pode inserir código em seu projeto que usa a versão mais recente da biblioteca. Isso ajuda o GitHub Copilot a começar a sugerir trechos de código que usam a versão mais recente da biblioteca. Depois que GitHub Copilot tiver aprendido a usar a nova versão da biblioteca, você poderá excluir o código de exemplo.

Seja consistente e mantenha um alto padrão de qualidade

GitHub Copilot vai se apegar ao código para gerar sugestões que seguem o padrão existente, de modo que o ditado "lixo dentro, lixo fora" se aplica.

Manter um alto padrão de qualidade sempre pode requerer disciplina. Especialmente quando você codifica rápido e com flexibilidade para que algo funcione. Talvez você deseje desabilitar conclusões do GitHub Copilot no modo de "hacking". Você pode desabilitar de forma temporária conclusões no menu de status do GitHub Copilot (acessível na barra de status do Visual Studio Code).

Obtenha o máximo de Copilot Chat do GitHub

Quando você estiver usando os recursos de chat do GitHub Copilot, há várias coisas que você pode fazer para otimizar sua experiência.

Comece de forma mais geral e, em seguida, seja mais específico

Ao escrever um prompt para GitHub Copilot, primeiro dê a GitHub Copilot uma descrição ampla da meta ou cenário. Em seguida, liste todos os requisitos específicos. Considere as seguintes solicitações:

  1. Escreva uma função que me diga se um número é primo.
  2. A função deverá usar um inteiro e retornar verdadeiro se o inteiro for primo.
  3. A função deverá gerar um erro se a entrada não for um inteiro positivo.

Forneça exemplos

Use exemplos para ajudar GitHub Copilot entender o que você deseja. Você pode fornecer dados de entrada de exemplo, saídas de exemplo e implementações de exemplo.

Divida tarefas complexas em tarefas mais simples

Se você quiser GitHub Copilot concluir uma tarefa complexa ou grande, divida a tarefa em várias tarefas simples e pequenas. Por exemplo, em vez de pedir GitHub Copilot para gerar um quebra-cabeça de pesquisa de palavras, divida o processo em tarefas menores e peça a GitHub Copilot para realizá-las uma a uma:

  1. Escreva uma função para gerar uma grade de letras 10 por 10.
  2. Escreva uma função para localizar todas as palavras em uma grade de letras, considerando uma lista de palavras válidas.
  3. Escreva uma função que use as funções anteriores para gerar uma grade de 10 por 10 letras que contenha pelo menos 10 palavras.
  4. Atualize a função anterior para imprimir a grade de letras e 10 palavras aleatórias geradas a partir da grade de letras.

Evite ambiguidade

Evite termos ambíguos. Por exemplo, não pergunte "o que isso faz" quando "isso" pode ser o arquivo atual, a última resposta GitHub Copilot ou um bloco de código específico. Em vez de usar termos ambíguos, seja específico: O que a função createUser faz?

Indique o código relevante

Se você estiver usando GitHub Copilot Chat em seu IDE, abra os arquivos ou realce o código que deseja que GitHub Copilot referenciar. Use participantes de chat, comandos com barra e variáveis de chat nos prompts para definir o contexto. Por exemplo, especifique quais arquivos o GitHub Copilot Chat deve referenciar.

Usar participantes de chat, comandos de barra e variáveis de chat

Os participantes do chat são projetados para coletar contexto extra sobre uma base de código, domínio ou tecnologia específica. Quando você especifica o participante apropriado, GitHub Copilot Chat pode encontrar e fornecer informações melhores para enviar ao back-end GitHub Copilot. Por exemplo, use @vscode ao fazer perguntas sobre Visual Studio Code recursos e APIs.

Comandos barra ajudam o GitHub Copilot Chat a entender a intenção quando você faz uma pergunta. Você está aprendendo sobre uma base de código (/explain), deseja ajuda para corrigir um problema (/fix) ou está criando casos de teste (/tests)? Ao permitir que o GitHub Copilot Chat saber o que você está tentando fazer, ele pode ajustar sua resposta à sua tarefa e fornecer comandos, configurações e snippets de código úteis.

Os participantes do chat, como @terminal ou @vscode, podem contribuir com variáveis de chat que fornecem contexto específico do domínio. Você pode referenciar uma variável de chat no prompt de chat usando o símbolo #. Você pode usar variáveis de chat para ser mais específico sobre o contexto do prompt.

Por exemplo, a variável #file permite que você faça referência a arquivos específicos do workspace no prompt de chat. Isso ajuda a tornar as respostas do GitHub Copilot Chat mais relevantes para seu código, fornecendo contexto sobre o arquivo com o qual você está trabalhando. Você pode fazer perguntas como "Can you suggest improvements to #file:package.json?" ou "How do I add an extension in #file:devcontainer.json?". Usar a variável #file pode ajudá-lo a obter respostas mais direcionadas e precisas de GitHub Copilot.

Experimentar e iterar

Se você não obtiver o resultado desejado, itere no prompt e tente novamente. Faça referência à resposta anterior na próxima solicitação. Você também pode excluir a resposta anterior e recomeçar.

Mantenha o histórico relevante

O GitHub Copilot Chat usa o histórico de chat para obter contexto sobre sua solicitação. Para garantir que GitHub Copilot esteja usando um histórico de chat relevante:

  • Use threads para iniciar uma nova conversa para uma nova tarefa.
  • Exclua solicitações que não são mais relevantes ou que não produziram o resultado desejado.

Siga as boas práticas de codificação

Se você não estiver recebendo as respostas desejadas quando pedir sugestões ao GitHub Copilot, verifique se o código existente segue as práticas recomendadas e é fácil de ler. Por exemplo:

  • Use um estilo de código e padrões consistentes.
  • Use nomes descritivos para variáveis ​​e funções.
  • Comente seu código.
  • Estruture seu código em componentes modulares e com escopo definido.
  • Inclua testes unitários.

Resumo

GitHub Copilot é uma ferramenta poderosa que pode ajudá-lo a escrever código mais rapidamente e com menos erros. No entanto, para aproveitar ao máximo GitHub Copilot, você precisa seguir as práticas recomendadas. Escolhendo a ferramenta de GitHub Copilot certa para o trabalho, fornecendo contexto e seguindo boas práticas de codificação, você pode otimizar sua experiência com GitHub Copilot.