SRP Archive

ตัวอย่างของ code ที่ขัดแย้งต่อแนวคิด Single Responsibility Principle (SRP)

วันนี้เห็น code ของ Android app ตัวหนึ่ง ซึ่งมี code ที่น่าสนใจ และ น่าศึกษา นั่นก็คือ code ที่ใช้งาน RecyclerView แน่นอนว่า ต้องทำงานร่วมกับ Adapter ของมันนั่นเอง ทำให้คิดถึงแนวคิดของ SOLID หนึ่งในนั้นคือ S = Single Responsibility Principle (SRP) มาดู code กันดีกว่า

Read More…

ตอนที่ 13 :: 97 สิ่งที่ developer ควรรู้ :: The Single Responsibility Principle

เรื่องที่ 13 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ The Single Responsibility Principle(SRP) เป็นหนึ่งแนวคิดสำคัญในการออกแบบระบบ และ code ที่ดี ที่นักพัฒนา software ทุกคนควรศึกษา เพื่อให้รู้ เข้าใจ และนำไปใช้ด้วยความเคารพ สามารถอธิบายสั้นๆ ได้ว่า ให้รวมส่วนการทำงานที่เปลี่ยนแปลงด้วยเหตุผลเดียวไว้ด้วยกัน ให้แยกส่วนการทำงานที่เปลี่ยนแปลงด้วยเหตุผลที่ต่างกันออกมา ลองดูสิว่า ระบบที่เราพัฒนากันนั้น มันเป็น SRP ไหม

Read More…

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

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

Read More…