Iterasi pada Diff, Bukan Penulisan Ulang
Setelah kode ada, tahan keinginan untuk meminta seluruhnya lagi. Tindak lanjut yang samar seperti "buat lebih baik" membuang kode yang sudah bekerja dan memunculkan kembali bug yang sudah Anda perbaiki. Tunjuk pada perubahan spesifik yang Anda inginkan.
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.
Siklus yang sehat adalah lingkaran yang rapat: beri ke model, baca hasilnya, lalu perbaiki dengan diff kecil yang tertarget — jangan pernah menulis ulang seluruhnya — sampai hasilnya benar:
┌─────────┐ ┌─────────┐ ┌─────────┐
│ PROMPT │ ──▶ │ MODEL │ ──▶ │ OUTPUT │
└─────────┘ └─────────┘ └────┬────┘
▲ │
│ ▼
│ ┌─────────┐
│ good? │ REVIEW │
│ yes ◀──────────────────┤ diff │
│ └────┬────┘
│ │ no
│ refine (small diff) │
└───────────────────────────────┘
drift? ▶ reset to last good
Meminta diff (alih-alih penulisan ulang penuh) membuat perubahan tetap mudah ditinjau dan mempertahankan bagian-bagian yang sudah berfungsi. Perlakukan hasil AI seperti rekan kerja: berikan komentar pada baris-baris tertentu, minta perubahan yang tertarget. Ketika sebuah perubahan mulai melenceng dan kodenya makin menjauh dari yang Anda inginkan di setiap balasan, jangan terus menambal — kembalikan (reset) ke versi terakhir yang Anda percayai dan beri prompt ulang dari sana dengan deskripsi yang lebih tajam. Melakukan iterasi maju di atas dasar yang rusak hanya akan memperparah kekacauan.