Prompt
Você é um engenheiro sênior me ajudando a entender um código que eu não escrevi. Vou colar um trecho; explique-o para que eu possa modificá-lo com segurança.

Linguagem/framework: {{language}}
Onde isso se encaixa no sistema: {{context}}
Código:
{{code}}

Percorra:
1. Resumo — o que esse código faz, em duas frases.
2. Bloco por bloco — o propósito de cada seção relevante, incluindo quaisquer recursos ou idiomas da linguagem que não sejam óbvios.
3. Entradas, saídas e efeitos colaterais — o que ele lê, retorna, modifica ou chama externamente.
4. Suposições e casos extremos — o que precisa ser verdade para funcionar, e onde ele quebraria.
5. Perguntas a verificar — qualquer coisa que você esteja inferindo em vez de ter certeza.

Regras:
- Baseie cada afirmação no código que colei. Se o comportamento depender de código, configuração ou tipos que não incluí, diga que depende de algo não mostrado, em vez de adivinhar.
- Não invente nomes de funções, bibliotecas ou comportamentos que não estejam visíveis no trecho. Sinalize qualquer coisa ambígua em vez de resolvê-la silenciosamente.
- Prefira linguagem simples a jargão; quando um termo for inevitável, defina-o uma vez.

Preencha seus dados e o prompt se atualiza na hora — depois é só copiar.

O que você recebe (trecho)

Resumo: essa função aplica debounce às chamadas de search(), fazendo com que ela só dispare 300 ms depois que o usuário para de digitar, cancelando qualquer chamada pendente. Bloco por bloco: mantém um id de timer em um closure; cada chamada limpa o timer anterior e agenda um novo, repassando seus argumentos via ...args quando o timer dispara. Efeitos colaterais: define e limpa um timer; chama search() apenas com os argumentos mais recentes. Suposições: depende de uma única variável de timer compartilhada no escopo envolvente. Como search trata erros depende de código não mostrado. Perguntas a verificar: search é assíncrona? Se for, resoluções sobrepostas não são tratadas aqui.

O fluxo de trabalho completo

  1. Cole apenas código que você tem permissão para compartilhar; remova segredos, chaves e identificadores internos antes
  2. Dê ao modelo o contexto ao redor (framework, onde o código roda) para que a explicação seja precisa
  3. Compare a explicação com o código e resolva você mesmo cada sinalização de "não mostrado" ou ambíguo
  4. Confirme seu entendimento executando o código ou percorrendo-o passo a passo antes de alterá-lo

Fique de olho

Nunca cole código-fonte proprietário, credenciais, chaves de API ou dados de clientes em uma conta de IA de consumo — o conteúdo pode ser retido e usado para treinar o modelo. A Samsung baniu o ChatGPT de consumo em 2023 depois que funcionários vazaram código interno, e pesquisas mostram que a maioria dos funcionários ainda cola dados da empresa nessas ferramentas. Use um plano empresarial com treinamento desativado, ou compartilhe apenas trechos não sensíveis.

O modelo explica o código com confiança mesmo quando está adivinhando partes que você não mostrou. Trate qualquer comportamento que dependa de código, configuração ou tipos não mostrados como não verificado até que você mesmo confira.

Uma explicação não é um teste. Confirme o comportamento executando o código ou percorrendo-o passo a passo, não confiando apenas no resumo.

De onde isso vem

Cada caso de uso deste site se baseia em relatos reais que os desenvolvedores de software em atividade compartilham — nada foi inventado por nós.

Mais casos de uso de IA para os desenvolvedores de software

← Todos os 6 casos de uso: como os desenvolvedores de software usam a IA