หลักการเขียนโปรแกรม ตอนที่ 1

ในการเขียนโปรแกมสิ่งหนึ่งที่ต้องระมัดระวังคือ เราจะต้องการแต่ผลลัพธ์ที่ถูกต้องเท่านั้น ซึ่งเราจะมองข้ามเรื่องของการเขียนโปรแกรมที่มีคุณภาพ ดังนั้น ถ้าต้องการเขียนโปรแกรมแบบมืออาชีพ สิ่งที่เราสนใจจะมีอยู่ 2 อย่างคือ ผลลัพธ์ต้องถูกต้องและ Source Code ต้องมีคุณภาพที่ดีด้วย ซึ่งจากกการเขียนโปรแกรมมาเอง และต้องพบกับโปรแกรมเมอร์หน้าใหม่จำนวนมาก ทำให้พบว่าปัญหาส่วนใหญ่คือถ้ามีงาน 2 งานคล้ายๆกัน อาจแตกต่างกันบ้างนิดหน่อย โปรแกรมเมอร์ส่วนใหญ่จะทำการ copy code ไปวางแล้วทำการแก้ไข Logic นิดหน่อยเพื่อให้ทำงานได้ทั้ง 2 งาน แต่ code จะถูกแยกวางไว้ 2 ที่ ซึ่ง code 2 ส่วนนี้จะคล้ายกันแต่มี Logic ที่แตกต่างกันเพียงเล็กน้อยเท่านั้น

การเขียน Code แบบนี้ถือว่าเป็น Code ที่ไม่ค่อยมีคุณภาพ เนื่องจากมีส่วนของ Logic บางส่วนที่ซ้ำซ้อนกัน เมื่อต้องการแก้ไข Source Code ส่วนที่ซ้ำกันนี้ เราจำเป็นต้องตามไปแก้ทั้ง 2 ที่ ซึ่งถ้ามี 2 ที่ก็คงจะไม่ได้ยากเท่าไหร่ ปัญหาคือ เราจะรู้ได้อย่างไรว่ามีกี่ที่กันแน่ แล้วที่ที่ 2 นั้นอยู่ใน Module ไหน บรรทัดที่เท่าไหร่ ถ้า Source Code นั้นเราเป็นคนเขียนโปรแกรมขึ้นมาเองก็คงไม่ยากเท่าไหร่ แต่ถ้าไม่ใช่เราเป็นคนเขียนล่ะ หรือ เราเขียนเองแต่เวลาอาจผ่านไปนานจนเราลืมไปหมดแล้วว่าเราเขียนโปรแกรมไว้อย่างไร

ดังนั้นจึงเป็นกฏที่เราต้องนึงถึงอยู่เสมอเวลาทำการเขียนโปรแกรมคือ DRY ย่อมาจาก Don’t Repeat Yourself ในทาง Software Engineering จะถือว่านี่เป็นหลักการที่สำคัญข้อนึงในการเขียนโปรแกรม “อย่าทำการเขียน Code ซ้ำของเดิม” ซึ่งจริงๆแล้วเราคงไม่นั่งเขียนโปรแกรมซ้ำของตัวเอง 2 รอบ แต่เรามักจะใช้การ Copy Source Code ไปวาง แล้วแก้ไข Logic นิดหน่อย

วิธีแก้ไขคือแยก ส่วนที่ซ้ำออกมาสร้างเป็น function แล้วให้ Code ทั้ง 2 ส่วนนั้นเรียกใช้งาน function ที่สร้างขึ้นมาใหม่นี้ แต่ต่างกันที่ parameter ที่อาจส่งเข้าไปไม่เหมือนกัน