refactoring-00
เนื่องจากทำการ review code ของระบบที่พัฒนาด้วยภาษา Swift
แล้วพบว่าการสร้าง object บางตัวนั้น
สามารถสร้างได้หลายแบบ
ทำให้มี constructor จำนวนมาก !!
ซึ่งมันเป็น Code Smell อย่างหนึ่ง
ดังนั้นได้เวลาปรับปรุง code ให้ดีขึ้นแล้วนะ

มาดูตัวอย่าง code กันนิดหน่อย

คำถาม ใครเคยเจอ code แบบนี้บ้าง ?
ถ้าเคยเจอ แก้ไขปัญหากันอย่างไร ?
บางคนอาจจะบอกว่า ไม่น่าจะมีปัญหาอะไรนะ ซึ่งก็ไม่ผิดอะไร
บางคนอาจจะบอกว่า ก็เขียน comment ไปสิ
บางคนอาจจะบอกว่า …

ปัญหาสำคัญของ code ข้างต้นคือ
ใน constructor แต่ละตัวนั้น มันทำงานอะไรกันแน่
ทำไมต้องแยกกันด้วยล่ะ ?
แน่นอนว่า ต้องมีเหตุผลของมัน
แต่ผู้ใช้งานต้องงงอย่างแน่นอน ว่าจะสร้าง object ด้วยตัวไหนดี

ดังนั้นถึงเวลา Refactor code กันแล้วนะ !!

โดยการ Refactor code ที่จะใช้คือ Creation Method

มีเป้าหมายหลักเพื่อทำให้การสร้าง object อ่านง่าย และ เข้าใจได้ง่ายขึ้น
ซึ่งแต่ละ method จะมีชื่อที่ชัดเจนว่า ทำอะไร เพื่ออะไร

นักพัฒนาอย่าลืม Refactor code หรือ ปรับปรุง code ให้ดีขึ้นด้วยนะครับ

Reference Websites
หนังสือ Refactoring to pattern
Code smell