เพิ่งดู VDO และอ่านบทความเกี่ยวกับ CUPID the back story
เป็นอีกหนึ่งแนวคิดที่บอกว่า S.O.L.I.D มันล้าสมัยไปแล้ว
โดยเป็นการปรับปรุงแนวคิดให้ทันสมัยมากขึ้น
แต่ยังคงกลิ่นอายเดิม ๆ ที่เป็นพื้นฐานเหมือนกัน

ซึ่ง C.U.P.I.D ประกอบไปด้วย

มีแนวคิดที่บอกว่า for joyful coding

  • Composable คือ code มีขนาดเล็ก มีขอบเขตเป้าหมายชัดเจน และมี depedenncy ไม่เยอะ ทำให้ง่ายต่อการใช้งานซ้ำ ๆ จากส่วนอื่น ๆ
  • Unix philosophy คือเรื่องของหน้าที่รับผิดชอบอย่างใดอย่างหนึ่งไปเลย เน้นที่ว่าทำงานอะไรได้บ้าง
  • Predictable คือ พฤติกรรมการทำงานสามารถคาดเดาได้ ไม่ใช่ทำงานได้บ้างไม่ได้บ้าง และสามารถเฝ้าดูหรือ observable นั่นเอง
  • Idiomatic คือการใช้ภาษาอะไร เครื่องมืออะไร framework อะไร ก็ต้องเข้าใจแนวทางของสิ่งเหล่านั้น จะไม่เรียนรู้จะเขียนไม่ได้แน่ ๆ
  • Domain-based คือการเขียน code ตาม domain นั้น ๆ ทั้งการใช้คำและตั้งชื่อต่าง ๆ เช่นอยู่ใน domain payment, ordering ไม่ใช่ไปสนใจ model, view และ controller รวมไปถึงเรื่องของเขตของ domain นั้น ๆ ด้วย