Docs/Basic/ทักษะ Decomposition (การแตกปัญหา)
Basic

ทักษะ Decomposition (การแตกปัญหา)

·58 ครั้งที่อ่าน

เทคนิค Decomposition คือการทำตัวเป็น Project Manager ที่ซอยงานระดับ "มหภาค" ให้กลายเป็น "จุลภาค" เพื่อให้ AI โฟกัสทีละจุดและลดข้อผิดพลาดครับ

นี่คือตัวอย่างการแตกปัญหา (Decomposition) สำหรับโปรเจกต์เว็บอีคอมเมิร์ซแบบเป็นลำดับขั้นตอน:

1. การแบ่งตามโครงสร้างระบบ (Architecture Breakdown)

แทนที่จะสั่งงานรวมๆ ให้แบ่งตามเลเยอร์ของซอฟต์แวร์:

  • Frontend (หน้าบ้าน): "สร้าง UI สำหรับหน้าแสดงสินค้า (Product Listing) โดยใช้ React และ Tailwind CSS ให้มีระบบกรองสินค้าตามหมวดหมู่"

  • Backend (หลังบ้าน): "เขียน API ด้วย Node.js เพื่อดึงข้อมูลสินค้าจากฐานข้อมูล MongoDB"

  • Database (ฐานข้อมูล): "ออกแบบ Schema สำหรับเก็บข้อมูลสินค้า (ชื่อ, ราคา, คำอธิบาย, จำนวนสต็อก)"

2. การแบ่งตามฟีเจอร์ผู้ใช้งาน (User Feature Breakdown)

โฟกัสไปที่ "Journey" ของลูกค้าทีละก้าว:

  • เฟส 1: ระบบสมาชิก -> "สร้างระบบสมัครสมาชิกและ Login พร้อมการตรวจสอบความถูกต้องของอีเมล"

  • เฟส 2: ตะกร้าสินค้า -> "เขียนฟังก์ชันสำหรับเพิ่มสินค้าลงในตะกร้า (Cart) และการคำนวณราคารวมโดยหักส่วนลด 10%"

  • เฟส 3: ระบบชำระเงิน -> "เชื่อมต่อ API ของ Stripe เพื่อรับชำระเงินผ่านบัตรเครดิต"

3. การแบ่งระดับฟังก์ชัน (Functional Breakdown)

หากฟีเจอร์ใดยังดูใหญ่ไป ให้แตกย่อยลงไปอีกจนเหลือแค่ "Input -> Process -> Output":

โจทย์: "เชื่อมต่อฟอร์ม Login กับฐานข้อมูล"

  1. รับค่า username และ password จากหน้าเว็บ

  2. เข้ารหัสรหัสผ่าน (Hashing) เพื่อความปลอดภัย

  3. ค้นหาในฐานข้อมูลว่ามี User นี้หรือไม่

  4. ถ้ามี ให้สร้าง Session หรือ JWT Token เพื่อให้ผู้ใช้เข้าระบบได้

เคล็ดลับ: เมื่อคุณแตกงานเสร็จแล้ว ให้ AI ทำงานทีละส่วน และ "ทดสอบ" ส่วนนั้นให้ผ่านก่อนจะสั่งให้ทำส่วนถัดไปครับ