Langkah 5: Sketsakan Model Data
Kebanyakan aplikasi sebenarnya tentang data: apa yang kamu simpan dan bagaimana bagian-bagiannya berhubungan. Sketsa model data yang cepat menyelamatkanmu dari kode yang membingungkan dan tidak konsisten nantinya. Kamu tidak perlu diagram basis data — daftar field saja sudah cukup.
Untuk pelacak buku, ada satu hal utama — sebuah Book:
Book
- id: unique string
- title: string
- author: string
- status: "to_read" | "reading" | "finished"
- rating: number 1–5 (only if finished)
- addedAt: date
Bahkan sketsa kecil ini membuat keputusan menjadi eksplisit: rating hanya ada untuk buku yang sudah selesai, status adalah salah satu dari tiga nilai tetap, dan setiap buku punya id. Ketika kamu menyerahkan ini ke AI, ia berhenti menebak-nebak nama field dan membangun secara konsisten.
Alasan untuk memastikan hal ini sejak awal adalah bahwa nama field merembes ke mana-mana. Begitu AI menulis kode yang membaca book.rating, nama itu akan muncul di form, tampilan daftar, lapisan penyimpanan, dan fitur apa pun yang kamu tambahkan kemudian. Jika kamu membiarkannya melenceng — rating di satu tempat, stars di tempat lain, score di tempat ketiga — kamu mendapatkan bug yang melelahkan untuk dilacak. Model data enam baris adalah asuransi termurah terhadap itu.
Blok spek pendek yang bisa langsung disalin-tempel cenderung bekerja lebih baik daripada prosa untuk AI. Berikut model yang sama ditulis sebagai yang benar-benar akan kamu kirim:
Use this exact data shape for a book. Don't add fields I didn't list,
and don't rename these:
Book {
id — unique string, generated on creation
title — string, required
author — string, required
status — one of: "to_read" | "reading" | "finished"
rating — integer 1–5, present ONLY when status is "finished"
addedAt — ISO date string, set when the book is added
}
If you think a field is missing, ask me before adding it.
Baris terakhir itu — tanya saya sebelum menambahkannya — sedang mengerjakan hal yang nyata. Itu mengubah AI dari penebak menjadi kolaborator dan menjaga model data tetap milikmu.