Prompts de programação

Prompts para o dia a dia da programação: explicar, depurar, testar, refatorar, rever e documentar código em qualquer linguagem.

Estes comandos de programação foram criados para projetos reais e não para exemplos teóricos. Cobrem a explicação de código desconhecido, depuração com hipóteses ordenadas, criação de testes unitários, refatorização, revisão de diffs, SQL, expressões regulares, resolução de problemas no Git, verificações de segurança, documentação e pequenos scripts. A maioria funciona em qualquer linguagem: preencha a linguagem, a framework ou a ferramenta entre [parênteses retos] e cole o seu código onde o comando indicar. Trechos curtos e focados obtêm melhores respostas do que ficheiros inteiros.

Cada comando solicita algo que pode verificar. Os testes podem ser executados, as explicações podem ser validadas face ao código e as correções incluem uma justificação. Isto facilita a identificação de respostas erradas — o que é fundamental, pois a IA pode gerar código que parece correto, mas falha em casos extremos ou utiliza funções inexistentes. Utilize Copiar para levar o comando para o seu editor ou notas, ou "Usar no chat" para o abrir no ChatG, onde o código surge em blocos destacados com um botão para copiar.

Antes de colar qualquer informação, remova chaves de API, palavras-passe, tokens e dados de clientes, e confirme se a sua empresa permite a partilha de código com serviços externos de IA. Para perguntas pontuais, o Assistente de Código é mais rápido. Para aprofundar os fluxos de trabalho e limites, consulte IA para programação e ChatG para programadores.

Como adaptar estes comandos

  • Indique versões e restrições: versão da linguagem, framework, runtime e "sem novas dependências".
  • Reduza o código de entrada a um exemplo mínimo que continue a reproduzir o problema.
  • Cole o resultado obtido após testar a correção, incluindo eventuais novos erros, e pergunte qual o próximo passo.
  • Peça um formato de saída específico, como um diff, uma única função ou uma tabela de opções.

Analise o código gerado antes de o executar e teste-o primeiro num ambiente seguro.

  1. 01

    Explicar código como um engenheiro sénior

    Assume o papel de engenheiro sénior de [linguagem] a orientar um programador júnior. Explica passo a passo o que faz o código abaixo e, em seguida, aponta tudo o que for incomum, arriscado ou passível de refatoração. Código: [colar código]

    #explicar Usar este prompt
  2. 02

    Depurar erro com causas ordenadas

    O meu código em [linguagem ou framework] apresenta este erro: [colar erro e stack trace]. Aqui está o código envolvido: [colar código]. Lista por ordem as três causas mais prováveis, explica como confirmar cada uma e fornece a correção para a causa mais provável.

    #depuração Usar este prompt
  3. 03

    Testes unitários com casos limite

    Escreve testes unitários em [framework de testes] para a função abaixo. Cobre entradas normais, valores-limite, entradas vazias ou nulas e tipos inválidos, e nomeia cada teste de acordo com o comportamento que verifica. Função: [colar função]

    #testes Usar este prompt
  4. 04

    Refatorar sem alterar o comportamento

    Refatora este código em [linguagem] para torná-lo mais legível e sustentável sem alterar o seu comportamento. Utiliza nomes claros, funções mais pequenas e menos duplicação, mantendo a interface pública inalterada. Explica brevemente cada alteração. Código: [colar código]

    #refatoração Usar este prompt
  5. 05

    Revisão de pull request por gravidade

    Revê este diff de pull request com uma postura rigorosa, mas construtiva. Agrupa os comentários por erros, segurança, desempenho e estilo, indica se cada um é bloqueante ou opcional e sugere alterações de código específicas. Diff: [colar diff]

    #revisão Usar este prompt
  6. 06

    Consulta SQL a partir de tabelas

    Escreve uma consulta em [PostgreSQL, MySQL ou SQLite] que [descrever o objetivo] utilizando estas tabelas: [colar definições das tabelas]. Explica a consulta de forma simples e sugere um índice caso as tabelas sejam grandes.

    #sql Usar este prompt
  7. 07

    Expressão regular com testes

    Escreve uma expressão regular para [linguagem ou ferramenta] que corresponda a [descrever padrão], mas não a [descrever exceções]. Explica cada parte do padrão e fornece cinco exemplos que devem corresponder e cinco que não devem.

    #regex Usar este prompt
  8. 08

    Converter código para outra linguagem

    Converte este código de [linguagem de origem] para [linguagem de destino] de forma idiomática. Não traduzas linha por linha; utiliza as bibliotecas e padrões comuns da linguagem de destino e indica quaisquer diferenças de comportamento, como divisão de inteiros ou tratamento de erros. Código: [colar código]

    #conversão Usar este prompt
  9. 09

    Endpoint de API com validação

    Cria um endpoint em [framework] para [método HTTP] [rota] que [o que deve fazer]. Valida estes campos de entrada: [campos e regras], devolve mensagens de erro claras com os códigos de estado adequados e inclui um exemplo de pedido e resposta.

    #backend#api Usar este prompt
  10. 10

    Script de shell seguro com simulação

    Escreve um script em [bash ou PowerShell] que [tarefa, ex.: renomeia todas as fotos de uma pasta pela data em que foram tiradas]. Garante a segurança: inclui uma opção de simulação (dry-run), interrompe a execução em caso de erro e apresenta mensagens do que está a fazer. Comenta cada secção.

    #scripts Usar este prompt
  11. 11

    Corrigir estrangulamento de desempenho

    Esta função em [linguagem] é lenta com grandes volumes de dados de cerca de [tamanho da entrada]: [colar código]. Explica a sua complexidade temporal e espacial, identifica o estrangulamento e propõe uma versão mais rápida com a respetiva nova complexidade. O resultado final deve manter-se idêntico.

    #desempenho Usar este prompt
  12. 12

    Desenhar esquema de base de dados

    Desenha um esquema de base de dados para [descrever aplicação, ex.: um pequeno sistema de reservas] com os seguintes requisitos: [requisitos]. Apresenta as tabelas, colunas com tipos, chaves e relações, e indica uma decisão de desenho que reverias à medida que a aplicação crescesse.

    #base de dados#arquitetura Usar este prompt
  13. 13

    Adicionar docstrings e comentários

    Adiciona docstrings ou comentários claros no estilo padrão de [linguagem] ao código abaixo. Descreve o objetivo de cada função, parâmetros, valores de retorno e possíveis erros, sem alterar o código em si. Código: [colar código]

    #documentação Usar este prompt
  14. 14

    Resolver problemas no Git em segurança

    Estou nesta situação com o Git: [descreva o sucedido, ex.: cometi um commit no branch errado e fiz push]. Explique o que está a acontecer, indique os comandos exatos para corrigir tudo em segurança e avise se algum comando reescrever o histórico partilhado.

    #git Usar este prompt
  15. 15

    Aprender um conceito com exercícios

    Ensine-me [conceito de programação, ex.: recursão ou closures] em [linguagem]. Comece com uma explicação breve e um exemplo mínimo, e depois proponha três exercícios de dificuldade crescente. Aguarde pela minha resposta antes de apresentar cada solução.

    #aprendizagem Usar este prompt
  16. 16

    Auditoria de segurança de código

    Analise este código em [linguagem] à procura de problemas de segurança como injeção, desserialização insegura, falta de validação de entradas, credenciais hardcoded e autenticação fraca. Para cada problema, explique o risco e apresente o código corrigido. Código: [colar código]

    #segurança Usar este prompt
  17. 17

    Mensagem de commit clara a partir de um diff

    Escreva uma mensagem de commit para estas alterações com uma linha de resumo imperativa com menos de 72 caracteres e um corpo a explicar o que mudou e porquê: [descreva ou cole o diff]

    #git#documentação Usar este prompt
  18. 18

    Comparar bibliotecas ou abordagens

    Preciso de [tarefa] num projeto em [linguagem ou framework] com estas restrições: [restrições, ex.: bundle pequeno, sem dependências nativas]. Compare duas ou três abordagens ou bibliotecas comuns numa tabela com prós, contras e quando usar cada uma, indicando que detalhes devo confirmar na documentação oficial.

    #arquitetura Usar este prompt
  19. 19

    Componente de interface acessível

    Crie um componente acessível em [framework, ou HTML, CSS e JavaScript puros] para [componente, ex.: widget de separadores]. Requisitos: [requisitos]. Inclua suporte de teclado, atributos ARIA onde necessário e um pequeno exemplo de utilização.

    #frontend#acessibilidade Usar este prompt
  20. 20

    Script para limpar e processar dados

    Escreva um script em [linguagem] que leia [tipo de ficheiro, ex.: ficheiro CSV] com estas colunas: [colunas], proceda a [o que calcular ou transformar] e guarde o resultado em [destino]. Trate valores em falta e linhas malformadas, apresentando um resumo no final.

    #dados#scripting Usar este prompt

Pronto a utilizar

Abra o chat e faça a sua primeira pergunta. É gratuito e não precisa de instalar nada.

Começar a conversar