Examinar as práticas recomendadas do GitHub Copilot
As extensões do GitHub Copilot para o Visual Studio Code ajudam os desenvolvedores a escrever código mais rápido e com menos erros.
Mas o GitHub Copilot é um programador de pares de IA, não é um programador. Para aproveitar ao máximo as ferramentas do GitHub Copilot, você precisa seguir as práticas recomendadas.
Escolha a ferramenta Copilot certa 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 mais usadas em circunstâncias diferentes.
As conclusões de código fornecem o maior valor quando estão usadas para:
- Conclua snippets de código, nomes de variáveis e funções ao gravá-los.
- Gerar código repetitivo.
- Gere código com base em comentários embutidos em linguagem natural.
- Gere 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.
- Realize tarefas específicas com palavras-chave e habilidades. O GitHub Copilot Chat usa palavras-chave internas (e habilidades projetadas para fornecer contexto importante) em prompts para realizar tarefas comuns rapidamente. Diferentes tipos de palavras-chave e habilidades estão disponíveis em diferentes plataformas de Chat copilot.
- Conclua uma tarefa como uma persona específica. Por exemplo, você pode dizer ao 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 ao GitHub Copilot para examinar seu código.
Obtenha o máximo das sugestões embutidas do Copilot
A extensão do GitHub Copilot apresenta sugestões automaticamente para ajudá-lo a codificar com mais eficiência. O GitHub Copilot fornece melhores sugestões 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.
Forneça contexto ao GitHub Copilot
O 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 contexto relevante a um colega ao pedir ajuda, você precisa fornecer contexto ao GitHub Copilot.
Abrir arquivos
Para conclusões de código, o GitHub Copilot examina os arquivos atuais e abertos em seu editor para analisar o contexto e criar sugestões apropriadas. Ter arquivos relacionados abertos no VS Code ao usar GitHub Copilot ajuda a definir esse contexto e permite que o Copilot entenda melhor 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 alto nível em um arquivo de código pode ajudar o GitHub Copilot a 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. O GitHub Copilot pode fazer sugestões, mas provavelmente você sabe melhor quais dependências precisa incluir. Isso também pode ajudar a permitir que o GitHub Copilot saiba quais estruturas, bibliotecas e suas versões você gostaria de usar ao criar sugestões.
Nomes de função significativos
Assim como um método chamado fetchData() não significa muito para um colega de trabalho (ou para você após vários meses), fetchData() também não ajudará GitHub Copilot. Usar nomes de funções significativos ajuda o 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. Os comentários de função podem ajudar a preencher os detalhes que o Copilot pode precisar saber.
Aperfeiçoe o Copilot com código de exemplo
Um truque para colocar o Copilot na página certa é copiar e colar exemplos de código desejáveis em uma guia de editor aberto. A amostra deve representar o código que você deseja que GitHub Copilot emule. Fornecer um exemplo pode ajudar o GitHub Copilot a gerar sugestões que correspondam ao idioma e às tarefas que você deseja que ele emule. Depois que o Copilot ajudar 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" o Copilot. Por exemplo, suponha que GitHub Copilot seja o padrão para sugerir snippets 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 Copilot a começar a sugerir snippets de código que usam a versão mais recente da biblioteca. Depois que o GitHub Copilot aprender a usar a nova versão da biblioteca, você poderá excluir o código de exemplo.
Seja consistente e mantenha uma boa qualidade
O GitHub Copilot vai se apegar ao seu código para gerar sugestões que seguem o padrão existente, o ditado "Tudo que entra, sai" se aplica.
Manter a alta qualidade sempre pode requerer disciplina. Especialmente quando você está codificando rápido e solto para fazer algo funcionar. Talvez você queira desabilitar as conclusões do GitHub Copilot no modo "hacking". Você pode desabilitar temporariamente as conclusões no menu de status do GitHub Copilot (acessível na barra de status do Visual Studio Code).
Dicas para aproveitar ao máximo o GitHub Copilot
Quando você está usando o chat para interagir com o GitHub Copilot, tem muita coisa que você pode fazer para otimizar sua experiência.
Comece de forma mais geral e, em seguida, seja mais específico
Ao escrever uma solicitação para o GitHub Copilot, primeiro dê ao Copilot uma ampla descrição da meta ou cenário. Em seguida, liste todos os requisitos específicos. Considere as seguintes solicitações:
- Escreva uma função que me diga se um número é primo.
- A função deve receber um inteiro e retornar verdadeiro se o inteiro for primo.
- A função deverá gerar um erro se a entrada não for um inteiro positivo.
Forneça exemplos
Use exemplos para ajudar o GitHub Copilot a 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 que o GitHub Copilot conclua uma tarefa complexa ou grande, divida a tarefa em várias tarefas simples e pequenas. Por exemplo, em vez de pedir ao Copilot para gerar um quebra-cabeça de pesquisa de palavras, divida o processo em tarefas menores e peça ao GitHub Copilot para realizá-las uma a uma:
- Escreva uma função para gerar uma grade de letras 10 por 10.
- Escreva uma função para localizar todas as palavras em uma grade de letras, considerando uma lista de palavras válidas.
- 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.
- Atualize a função anterior para imprimir a grade de letras e 10 palavras aleatórias da grade.
Evite ambiguidade
Evite termos ambíguos. Por exemplo, não pergunte "o que isso faz" se "isso" puder ser o arquivo atual, a última resposta do 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 o Chat do GitHub Copilot no seu IDE, abra os arquivos ou realce o código que deseja que o GitHub Copilot faça referência. Use participantes de chat, comandos de barra "/" e variáveis de chat em solicitações para definir o contexto. Por exemplo, especifique quais arquivos o Chat do GitHub Copilot 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, o Chat do GitHub Copilot pode encontrar e fornecer melhores informações para enviar ao back-end do Copilot. Por exemplo, use @workspace quando fizer perguntas sobre seu projeto aberto ou @vscode quando fizer perguntas sobre recursos e APIs do Visual Studio Code.
Comandos de barra ajudam o Chat do GitHub Copilot a entender sua 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 Copilot Chat saiba o que você está tentando fazer, ele pode ajustar a resposta à sua tarefa e fornecer comandos, configurações e snippets de código úteis.
Os participantes do chat, como @workspace 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 Chat do GitHub Copilot 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 ajudar você a obter respostas mais direcionadas e precisas do 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 Chat do GitHub Copilot usa o histórico de chat para obter contexto sobre sua solicitação. Para garantir que o GitHub Copilot esteja usando um histórico de bate-papo 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 solicitar sugestões ao GitHub Copilot, verifique se o código existente segue as melhores práticas 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 com escopo.
- Inclua unidades de teste.
Resumo
O 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 o GitHub Copilot, você precisa seguir as práticas recomendadas. Escolhendo a ferramenta Copilot certa para o trabalho, fornecendo contexto e seguindo boas práticas de codificação, você pode otimizar sua experiência com o GitHub Copilot.