~/VibeHandbook
PDF ฟรี

บท 09 · 06

ขั้นตอนที่ 5: ร่างโมเดลข้อมูล

แอปส่วนใหญ่แท้จริงแล้วเกี่ยวกับ ข้อมูล: คุณเก็บอะไรและชิ้นส่วนต่าง ๆ เชื่อมโยงกันอย่างไร การร่างโมเดลข้อมูลอย่างรวดเร็วช่วยคุณจากโค้ดที่สับสนและไม่สอดคล้องกันในภายหลัง คุณไม่จำเป็นต้องมีไดอะแกรมฐานข้อมูล — แค่รายการฟิลด์ก็เพียงพอ

สำหรับแอปติดตามหนังสือ มีสิ่งหลักอยู่หนึ่งอย่าง — Book:

Book
- id: unique string
- title: string
- author: string
- status: "to_read" | "reading" | "finished"
- rating: number 1–5 (only if finished)
- addedAt: date

แม้แต่ภาพร่างเล็ก ๆ นี้ก็ทำให้การตัดสินใจชัดเจนขึ้น: คะแนนมีอยู่เฉพาะหนังสือที่อ่านจบแล้วเท่านั้น สถานะเป็นหนึ่งในสามค่าที่กำหนดไว้ตายตัว และหนังสือทุกเล่มมี id เมื่อคุณส่งสิ่งนี้ให้ AI มันจะหยุดเดาชื่อฟิลด์และสร้างงานได้อย่างสอดคล้อง

เหตุผลที่ต้องปักหมุดเรื่องนี้ตั้งแต่เนิ่น ๆ คือชื่อฟิลด์รั่วไหลไปทุกที่ เมื่อ AI เขียนโค้ดที่อ่าน book.rating แล้ว ชื่อนั้นจะปรากฏในฟอร์ม หน้ารายการ ชั้นการจัดเก็บข้อมูล และฟีเจอร์ใด ๆ ที่คุณเพิ่มในภายหลัง ถ้าคุณปล่อยให้มันเลื่อนไหล — rating ในที่หนึ่ง stars ในอีกที่ score ในอีกที่ — คุณจะได้บั๊กที่ตามแก้ยากลำบาก โมเดลข้อมูลหกบรรทัดคือประกันภัยที่ถูกที่สุดต่อปัญหานั้น

บล็อกสเปกสั้น ๆ ที่คัดลอกวางได้ มักได้ผลดีกว่าข้อความบรรยายสำหรับ AI นี่คือโมเดลเดียวกันเขียนเป็นพรอมต์ที่คุณส่งได้จริง:

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.

บรรทัดสุดท้ายนั้น — ถามฉันก่อนเพิ่ม — กำลังทำหน้าที่สำคัญจริง ๆ มันเปลี่ยน AI จากคนเดาสุ่มให้กลายเป็นผู้ร่วมงาน และทำให้โมเดลข้อมูลยังเป็นของคุณอยู่

อยากได้แบบออฟไลน์?

ดาวน์โหลดหนังสือทั้งเล่มเป็น PDF หรือ EPUB — ฟรี