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.
-
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]
-
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.
-
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]
-
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]
-
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]
-
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.
-
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.
-
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]
-
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.
-
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.
-
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.
-
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.
-
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]
-
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.
-
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.
-
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]
-
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]
-
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.
-
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.
-
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.
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