Quantcast
Viewing all articles
Browse latest Browse all 2063

[Refactoring code] ว่าด้วยเรื่อง Creation Method

Image may be NSFW.
Clik here to view.
refactoring-00

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

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

[gist id="fdb5acaaa0cb7a8d796a382bdb66fdb2" file="Before.swift"] คำถาม ใครเคยเจอ code แบบนี้บ้าง ? ถ้าเคยเจอ แก้ไขปัญหากันอย่างไร ? บางคนอาจจะบอกว่า ไม่น่าจะมีปัญหาอะไรนะ ซึ่งก็ไม่ผิดอะไร บางคนอาจจะบอกว่า ก็เขียน comment ไปสิ บางคนอาจจะบอกว่า ... ปัญหาสำคัญของ code ข้างต้นคือ ใน constructor แต่ละตัวนั้น มันทำงานอะไรกันแน่ ทำไมต้องแยกกันด้วยล่ะ ? แน่นอนว่า ต้องมีเหตุผลของมัน แต่ผู้ใช้งานต้องงงอย่างแน่นอน ว่าจะสร้าง object ด้วยตัวไหนดี
ดังนั้นถึงเวลา Refactor code กันแล้วนะ !!

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

มีเป้าหมายหลักเพื่อทำให้การสร้าง object อ่านง่าย และ เข้าใจได้ง่ายขึ้น ซึ่งแต่ละ method จะมีชื่อที่ชัดเจนว่า ทำอะไร เพื่ออะไร [gist id="fdb5acaaa0cb7a8d796a382bdb66fdb2" file="After.swift"] นักพัฒนาอย่าลืม Refactor code หรือ ปรับปรุง code ให้ดีขึ้นด้วยนะครับ Reference Websites หนังสือ Refactoring to pattern Code smell

Viewing all articles
Browse latest Browse all 2063

Trending Articles