# Refactoring คือปรับปรุงนักสร้างซอฟต์แวร์ให้เก่งขึ้น!
ลองนึกภาพว่าคุณมีตัวต่อเลโก้กองใหญ่อยู่หน้าตาเฉย เดิมทีคุณประกอบมันเป็นปราสาทสวยงาม แต่ตอนนี้มันดูชำรุด และทุกครั้งที่คุณอยากเพิ่มหรือเปลี่ยนแปลงอะไร เช่น ต้องการเพิ่มหอคอยใหม่ หรือขยายสนามหญ้า คุณมักจะหงุดหงิด เพราะมันไม่ง่ายเลยที่จะเปลี่ยนแปลงโดยไม่ทำให้ส่วนอื่นพังทลาย นี่แหละที่เราเรียกว่า "ต้องการ Refactoring"
Refactoring (รีแฟกทอริง) เหมือนกับการจัดเตรียมเลโก้ของคุณให้ดูดีและง่ายต่อการเปลี่ยนแปลงในภายหลัง. ในโลกของการเขียนโปรแกรม, Refactoring คือการปรับปรุงแก้ไขโค้ดโปรแกรมที่มีอยู่ให้มัน "สะอาด" ขึ้น ดูดีขึ้น และเข้าใจง่ายขึ้น โดยไม่เปลี่ยนแปลงผลลัพธ์สุดท้ายที่โปรแกรมจะทำ.
Refactoring มีประโยชน์มากมายนะ เด็ก 8 ปีเข้าใจได้ง่ายๆ เช่น:
1. ทำให้โค้ดอ่านง่าย: คุณจะเข้าใจเลโก้ของคุณมากขึ้น เพราะมันมีแบบแผนดีๆ ที่เรียบง่าย โค้ดที่อ่านง่ายทำให้นักพัฒนาคนอื่นพูดว่า "โห! ชั้นเข้าใจเลยนะว่าจะเพิ่มหอคอยใหม่ที่ไหน!" 2. ลดโอกาสเกิดข้อผิดพลาด: เมื่อโค้ดของคุณจัดระเบียบดี, คุณจะทำข้อผิดพลาดน้อยลง เหมือนกับที่คุณสร้างเลโก้ให้แข็งแรงยิ่งกว่าเดิม ดังนั้นมันจะไม่พังง่ายๆ เพราะคุณเปลี่ยนหนึ่งเม็ดเลโก้. 3. ประหยัดเวลาในอนาคต: แม้ว่าจะใช้เวลาในการ Refactoring แต่มันจะช่วยเวลาได้มากในอนาคต เพราะถ้าคุณอยากเพิ่มฟีเจอร์ใหม่ หรือปรับปรุงซอฟต์แวร์ คุณสามารถทำได้อย่างรวดเร็ว ไม่ต้องคอยขุดคุ้ยแก้โค้ดที่ยุ่งเหยิง.
จริงๆ แล้ว Refactoring ควรทำอยู่เสมอเวลาที่คุณเขียนหรือตรวจสอบโค้ด แต่บางครั้งที่แนะนำอย่างเจาะจง เช่น:
- ก่อนเพิ่มฟังก์ชันใหม่: ก่อนที่คุณจะเพิ่มส่วนประกอบใหม่ให้เลโก้ คุณควรทำให้มันมั่นคงและเข้าใจง่ายก่อน. - หลังจากพบบั๊ก: เมื่อคุณพบข้อผิดพลาด, หลังจากแก้ไขมัน ให้ดูว่าสามารถจัดระเบียบโค้ดให้ดีขึ้นเพื่อป้องกันไม่ให้บั๊กนั้นเกิดขึ้นอีกได้หรือไม่. - เมื่อโค้ดดูยุ่ง: ถ้าคุณมาถึงโค้ดส่วนหนึ่งแล้วรู้สึกว่า "อ้าว, นี่มันอะไรกัน?!" นั่นคือสัญญาณที่ดีที่คุณควร Refactoring.
เพื่อให้เห็นภาพ, เราจะมาดูตัวอย่างกัน:
ตัวอย่างโค้ดก่อน Refactoring (ภาษา Python)
def compute_total(items):
total = 0
for i in range(len(items)):
total += items[i]
return total
items = [1, 2, 3, 4, 5]
print(compute_total(items))
โค้ดด้านบนทำงานได้ดี, แต่มันไม่ชัดเจนและสามารถทำให้ดีขึ้นได้.
ตัวอย่างโค้ดหลังจาก Refactoring
def compute_total(items):
return sum(items)
items = [1, 2, 3, 4, 5]
print(compute_total(items))
หลังจาก Refactoring, คุณเห็นไหมว่าโค้ดสั้นลงและเข้าใจง่ายขึ้นเยอะเลย?
ในท้ายที่สุด Refactoring คือศาสตร์ของการปรับปรุงที่ไม่เคยจบสิ้น สำหรับนักสร้างซอฟต์แวร์ทั้งหลาย. ถ้าคุณเป็นนักเรียนอยากรู้อยากเห็นหรือมองหาวิธีทำให้โค้ดของคุณดีขึ้น, ทำไมไม่ลองเรียนรู้เทคนิคเหล่านี้ในรายละเอียดซึ่งที่ EPT เรามีหลักสูตรที่สามารถช่วยให้คุณจัดการกับโค้ดในอนาคตได้อย่างมืออาชีพ. และจำไว้ว่าการเรียนรู้เกี่ยวกับการเขียนโปรแกรมไม่เคยสายเกินไปเลย!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM