~/VibeHandbook
PDF grátis

Capítulo 08 · 05

Itere em Diffs, Não em Reescritas

Uma vez que o código existe, resista ao impulso de pedir tudo de novo. Follow-ups vagos como "make it better" jogam fora código funcional e reintroduzem bugs que você já tinha corrigido. Aponte para a mudança específica que você quer.

That's not right, rewrite the whole thing.
The function works, but two issues:
1. The error on line with `throw new Error` should return a
   Result type instead of throwing — match the pattern in
   the validateUser function above.
2. The loop re-reads `items.length` each iteration; hoist it.

Show me just the diff for those two changes.

O ciclo saudável é um loop apertado: dê o ao modelo, leia a saída e depois refine com um diff pequeno e direcionado — nunca uma reescrita completa — até ficar certo:

   ┌─────────┐     ┌─────────┐     ┌─────────┐
   │ PROMPT  │ ──▶ │  MODEL  │ ──▶ │ OUTPUT  │
   └─────────┘     └─────────┘     └────┬────┘
        ▲                               │
        │                               ▼
        │                          ┌─────────┐
        │         good?            │ REVIEW  │
        │   yes ◀──────────────────┤  diff   │
        │                          └────┬────┘
        │                               │ no
        │      refine (small diff)      │
        └───────────────────────────────┘
                                    drift? ▶ reset to last good

Pedir um diff (em vez de uma reescrita completa) mantém as mudanças revisáveis e preserva as partes que já funcionam. Trate a saída da IA como o de uma colega: comente linhas específicas, peça edições direcionadas. Quando uma mudança sai do rumo e o código se afasta cada vez mais do que você queria a cada resposta, não continue remendando — volte para a última versão em que você confiava e reformule o prompt a partir dali com uma descrição mais afiada. Iterar para a frente sobre uma base quebrada só piora a bagunça.

Quer offline?

Baixe o livro inteiro em PDF ou EPUB — grátis.