SOLID Archive

Hi, I’m STUPID

วันนี้อ่านเจอคำที่น่าสนใจคือ คำว่า STUPID จึงนำมาขยายความ ในโลกของการพัฒนาด้วย Object-Oriented Programming นั้น มีแนวคิดเพื่อที่จะทำให้ code ที่เขียนขึ้นมานั้นมันมีคุณภาพที่ดี เช่น SOLID, DRY(Don’t Repeat Yourself), Separation of Concern เป็นต้น แต่มีแนวปฏิบัติกลุ่มหนึ่งที่ผิดปกติ แต่เรามักพบเจอกันมากจนเป็นเรื่องปกติ ซึ่งสามารถรวบรวมมาอยู่ในชื่อที่เรียกว่า “STUPID&#

Read More…

Dependency Injection ต่างจาก Dependency Inversion Principle อย่างไรนะ

บ่อยครั้งที่มักพบว่า คนส่วนใหญ่มักจะสับสนกันระหว่างคำว่า Dependency Injection และ Dependency Inversion ยิ่งพูดตัวย่อว่า “DI” แล้ว ยิ่งงงอีกว่า I ย่อมาจากอะไรกันแน่ ดังนั้นมาดูกันว่า ทั้งสองคำมันคืออะไร เหมือนหรือต่างกันอย่างไร เพื่อไม่ให้เกิดความสับสน ดังนั้นมาทำความเข้าใจโดยสังเขปกันหน่อย

Read More…

Java :: หลีกเลี่ยงการใช้ IF ในขั้นตอนการตรวจสอบข้อมูล

หลังจากทำการ review code ของทีมพัฒนา พบรูปแบบหนึ่งที่น่าสนใจสำหรับการตรวจสอบข้อมูลเข้า ( Input validation )  ก่อนที่จะส่งไปยังส่วนการทำงานอื่นๆ เช่น Service, Business logic และ ส่วนคำนวณ เป็นต้น โดยขั้นตอนการตรวจสอบส่วนใหญ่จะมีเยอะหรือเยอะมาก ขึ้นอยู่กับ จำนวนข้อมูล กฎต่างๆ ที่ต้องทำสอบ ส่งผลให้เกิด code ใน if-statement เยอะมาก ดังนั้นเรามาดูว่าจะลด code เหล่านี้ลงไปได้อย่างไร

Read More…