Crie prompts eficazes para o GitHub Copilot
Um prompt é uma instrução de linguagem natural que diz ao GitHub Copilot o que você quer que ele faça. Os prompts podem ser usados para fazer perguntas, comunicar solicitações ou descrever tarefas.
Por exemplo, os prompts a seguir representam uma pergunta, uma solicitação e uma descrição de tarefa.
Question: How do I create a button that submits a form?
Request: Add a button that opens a modal dialog. The button should be blue with rounded corners.
Task: Build a product page that displays a product title, product image, product description, and price. Product information should be fetched from the attached ProductsList.json file. The price should be formatted as currency. The page should also include a button to add the product to the cart.
A qualidade do seu prompt afeta diretamente a qualidade da resposta do GitHub Copilot.
O que faz uma boa instrução?
Criar prompts de alta qualidade é essencial para obter o máximo valor do GitHub Copilot. As estratégias a seguir ajudarão você a criar prompts que geram respostas mais precisas, relevantes e úteis.
Comece geral e, em seguida, obtenha específico
Ao escrever um prompt para o Copilot, comece com uma descrição ampla do seu objetivo ou cenário e, em seguida, forneça requisitos específicos. Essa abordagem fornece ao Copilot o contexto necessário, garantindo que suas necessidades detalhadas sejam atendidas.
Example:
Write a function that tells me if a number is prime.
The function should take an integer and return true if the integer is prime.
The function should error if the input is not a positive integer.
Forneça exemplos concretos
Os exemplos são uma das formas mais eficazes de comunicar a sua intenção ao Copilot. Você pode fornecer dados de entrada de exemplo, saídas esperadas e até mesmo implementações de exemplo para orientar o entendimento da IA.
Example:
Write a function that finds all dates in a string and returns them in an array. Dates can be formatted like:
- 05/02/24
- 05/02/2024
- 5/2/24
- 5/2/2024
- 05-02-24
- 05-02-2024
- 5-2-24
- 5-2-2024
Example usage:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Expected return: ["11/14/2023", "12-1-23"]
Divida tarefas complexas em etapas mais simples
Ao enfrentar uma tarefa complexa ou grande, decomponha-a em componentes menores e gerenciáveis. Essa abordagem leva a melhores resultados e torna mais fácil depurar e refinar peças individuais.
Exemplo: Em vez de pedir ao Copilot para gerar um quebra-cabeça completo de pesquisa de palavras, divida-o:
Write a function to generate a 10 by 10 grid of lettersWrite a function to find all words in a grid of letters, given a list of valid wordsWrite a function that uses the previous functions to generate a 10 by 10 grid containing at least 10 wordsUpdate the previous function to print the grid and 10 random words from the grid
Elimine a ambiguidade
Evite referências vagas e termos ambíguos que possam ser interpretados de várias maneiras. Seja explícito sobre o que você está se referindo e o que você quer que o Copilot faça.
Maus exemplos:
- "O que isso faz?" (não está claro a que "isto" se refere).
- "Fix the bug" (não especifica qual bug ou como corrigi-lo).
Melhores exemplos:
- "O que faz a função createUser?"
- "O que faz o código na sua última resposta?"
- "Corrija o erro de validação no campo de entrada de e-mail."
Considerações da biblioteca:
- Se estiver usando uma biblioteca incomum, descreva sua finalidade.
- Para bibliotecas específicas, inclua instruções de importação ou especifique qual biblioteca você deseja usar.
Fornecer contexto relevante
Ajude o Copilot a entender a estrutura e as intenções do seu projeto gerenciando seu ambiente de desenvolvimento de forma eficaz.
No seu IDE:
- Abra ficheiros relevantes e feche ficheiros não relacionados.
- Realce seções de código específicas que você deseja que o Copilot faça referência.
- Use participantes de bate-papo como
@workspaceno Visual Studio Code ou@projectem IDEs JetBrains.
No bate-papo do Copilot:
- Faça referência a arquivos específicos ou blocos de código.
- Anexar documentação ou especificações relevantes.
- Use caminhos de arquivo claros e nomes de funções.
Iterar e refinar
Não espere resultados perfeitos na primeira tentativa. O copiloto funciona melhor quando você se envolve em uma conversa iterativa, refinando suas solicitações com base nas respostas recebidas.
Estratégias para iteração:
- Se estiver usando sugestões embutidas, exclua e tente novamente com um prompt modificado.
- No Copilot Chat, faça referência a respostas anteriores e peça modificações específicas.
- Construa sobre soluções parciais, pedindo melhorias incrementais.
Mantenha um histórico de conversas relevante
O Copilot Chat usa o histórico de conversas para entender o contexto, portanto, gerencie esse histórico estrategicamente.
Melhores práticas:
- Inicie novos threads para diferentes tarefas ou projetos.
- Exclua solicitações irrelevantes ou malsucedidas que possam confundir respostas futuras.
- Mantenha as conversas focadas nas funcionalidades relacionadas.
Siga as boas práticas de codificação
A qualidade da sua base de código existente afeta a capacidade do Copilot de gerar sugestões apropriadas. Mantenha altos padrões em seu código para obter melhor assistência de IA.
Fatores de qualidade do código:
- Use estilos e padrões de código consistentes.
- Escolha nomes descritivos para variáveis e funções.
- Adicione comentários significativos para explicar a lógica complexa.
- Estruture o código em componentes modulares e com escopo adequado.
- Inclua testes de unidade abrangentes.
Note
Você pode pedir ao Copilot para ajudar a melhorar a qualidade do seu código solicitando comentários, sugestões de refatoração, ou dividindo funções grandes em partes menores e mais fáceis de gerir.
Bons prompts são:
- Claro: Descreva exatamente o que você quer.
- Específico: inclua detalhes de layout, comportamento ou estilo.
- Contextual: Referenciar código ou estrutura existente.
Iteração sobre indicações
Se a resposta inicial do GitHub Copilot não estiver alinhada com as suas expectativas, pode ser necessário ajustar no seu prompt. Considere estas estratégias:
- Edite o prompt para ser mais específico.
- Adicione contexto ao chat que esclareça seus objetivos ou requisitos.
- Use o Copilot Chat para fazer perguntas de acompanhamento baseadas em respostas anteriores.
Avaliar e responder às sugestões do Copilot
Entender como avaliar as sugestões do Copilot é crucial para uma vibe coding eficaz. Nem todas as sugestões serão perfeitas, e saber quando aceitar, rejeitar ou modificar respostas melhorará significativamente sua experiência de desenvolvimento.
Quando aceitar sugestões
Aceite as sugestões do Copilot quando:
- Atenda às suas necessidades: O código faz exatamente o que você pediu.
- Siga as práticas recomendadas: usa padrões, convenções de nomenclatura e estrutura apropriados.
- São bem estruturados: o código é legível, sustentável e formatado corretamente.
- Inclua o tratamento adequado de erros: casos extremos e potenciais falhas são abordados.
- Corresponda ao estilo do seu projeto: Consistente com padrões e convenções de base de código existentes.
Exemplo de uma boa sugestão a aceitar:
Prompt: "Criar uma função para validar endereços de e-mail"
O Copilot sugere:
function validateEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (typeof email !== 'string') {
throw new Error('Email must be a string');
}
return emailRegex.test(email.toLowerCase());
}
Esta sugestão deve ser aceite porque inclui validação de entrada, tratamento de erros e utiliza um padrão regex razoável.
Quando rejeitar sugestões
Rejeitar as sugestões do Copilot quando:
- Não responda ao seu prompt: o código resolve um problema diferente do solicitado.
- Conter vulnerabilidades de segurança: Use práticas não seguras ou exponha dados sensíveis.
- São excessivamente complexas: tarefas simples implementadas com complexidade desnecessária.
- Use métodos obsoletos: confie em APIs desatualizadas ou obsoletas.
- Falta de tratamento de erros: não leve em conta possíveis cenários de falha.
- Viole os padrões de codificação: não siga as práticas estabelecidas pela sua equipe.
Exemplo de uma sugestão a rejeitar:
Prompt: "Criar uma função de validação de senha segura"
Fraca sugestão:
function validatePassword(password) {
return password.length > 6;
}
Isso deve ser rejeitado porque é muito simplista para os requisitos de segurança e não valida a força da senha corretamente.
Quando modificar sugestões
Modificar as sugestões do Copilot quando:
- Estão corretas, mas precisam de ajustes: a lógica central é sólida, mas os detalhes precisam de ajustes.
- Precisa de recursos adicionais: A funcionalidade básica é boa, mas requer aprimoramentos.
- Ter pequenos problemas de estilo: o código funciona, mas não corresponde às suas preferências de formatação.
- Exigir nomes de variáveis diferentes: a lógica está correta, mas a nomenclatura pode ser melhorada.
- Precisa de otimizações de desempenho: Funcional, mas poderia ser mais eficiente.
Exemplo de sugestão de modificação:
O Copilot sugere:
function calculateTotal(items) {
let total = 0;
for (let i = 0; i < items.length; i++) {
total += items[i].price;
}
return total;
}
Sua modificação para melhor legibilidade e JavaScript moderno:
function calculateTotal(items) {
return items.reduce((total, item) => total + item.price, 0);
}
Estratégias para melhorar as sugestões
Quando uma sugestão não estiver correta, tente estas abordagens:
Refine seu prompt:
- Adicione requisitos mais específicos.
- Inclua exemplos de entradas/saídas esperadas.
- Especifique o estilo de programação ou a estrutura que você está usando.
Solicitar modificações:
- "Torne a função anterior mais robusta com o tratamento de erros."
- "Simplifique o código que você acabou de escrever."
- "Adicione tipos TypeScript à função anterior."
Crie incrementalmente:
- Comece com uma versão básica e peça melhorias.
- Adicione recursos um de cada vez, em vez de solicitar tudo de uma vez.
- Teste cada iteração antes de passar para o próximo aprimoramento.
Tip
Ao modificar sugestões, mantenha as partes que funcionam bem e seja específico sobre o que precisa mudar. Isso ajuda o Copilot a entender suas preferências e fornecer melhores sugestões futuras.
Summary
Criar prompts eficazes para o GitHub Copilot é essencial para maximizar seu potencial na codificação vibe. Começando com descrições gerais, fornecendo exemplos concretos, detalhando tarefas complexas e mantendo uma comunicação clara, você pode orientar o Copilot para gerar código de alta qualidade que atenda às suas necessidades. Iterar em prompts e entender como avaliar sugestões melhorará ainda mais sua experiência de desenvolvimento, permitindo que você aproveite a assistência de IA de forma eficaz, mantendo o controle sobre o processo de codificação.