
วันนี้มีโอกาสไปแบ่งปันในงาน Code Mania 11 :: Raise the bar จัดโดยสมาคมโปรแกรมเมอร์ไทย โดยพูดเรื่อง บุกป่าฝ่าดงอีฟฟฟ เพื่ออธิบายวิธีการปรับปรุง code ที่มันยุ่งเหยิงให้ดีขึ้น รวมทั้งความรู้ต่าง ๆ ที่ได้รับกลับมา จึงทำการสรุปไว้นิดหน่อย
เมื่อวานทำการ post รูปเกี่ยวกับ nest-if หรือ code ที่มี if-else จำนวนเยอะ และ ลึกลับซับซ้อน ซึ่งมันบ่งบอกถึงอะไรบ้างนะ ความซับซ้อนของระบบงานหรือเปล่านะ ? ความขี้เกียจ หรือ มักง่าย ของนักพัฒนา software หรือเปล่านะ ? ความไม่สนใจของใครหลายๆ คนที่เกี่ยวข้องหรือเปล่านะ ? และสุดท้ายมันคือภาระ หรือ ปัญหาที่คนดูแลต่อมาต้องแบกรับหรือเปล่านะ
หลังจากที่เคยอธิบายเกี่ยววิธีการลดใช้งาน IF-ELSE statement ไปบ้างแล้วจาก Blog หลีกเลี่ยงการใช้ IF ในขั้นตอนการตรวจสอบข้อมูล ที่มาของการตรวจสอบเงื่อนไขต่างๆ ใน code ซึ่งในโลกของ OOP(Object Oriented Programming) นั้นยังมีวิธีการอื่นๆ อีกมาก เพื่อลดจำนวนการเขียนเงื่อนไขต่างๆ ใน code ลงไป ผมไปพบวิธีที่ชาวโลกเขาใช้งาน และนำมาอธิบายไว้ น่าสนใจดี เลยเอามาลองทำดู จากที่นี่ Factory Without IF-
หลังจากทำการ review code ของทีมพัฒนา พบรูปแบบหนึ่งที่น่าสนใจสำหรับการตรวจสอบข้อมูลเข้า ( Input validation ) ก่อนที่จะส่งไปยังส่วนการทำงานอื่นๆ เช่น Service, Business logic และ ส่วนคำนวณ เป็นต้น โดยขั้นตอนการตรวจสอบส่วนใหญ่จะมีเยอะหรือเยอะมาก ขึ้นอยู่กับ จำนวนข้อมูล กฎต่างๆ ที่ต้องทำสอบ ส่งผลให้เกิด code ใน if-statement เยอะมาก ดังนั้นเรามาดูว่าจะลด code เหล่านี้ลงไปได้อย่างไร