Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

ทำไม code แย่ ๆ มันจึงเกิดขึ้นในทุกระบบ !!

$
0
0

poor-code-00

poor-code-00 ทำไมในการพัฒนา software ถึงมี bad code หรือ code ที่มันแย่ ๆ ขึ้นมาเพียบเลย ? หรือว่าจำนวนนักพัฒนาที่สามารถเขียน code ให้มีคุณภาพมีน้อยกันนะ ? หรือว่ามันมีเหตุผลอื่น ๆ อีกนะ ? เราลองมาค้นหาคำตอบกันหน่อยสิ

สิ่งที่มักได้ยินตลอดมาก็คือ

code ที่แย่ ๆ มักถูกสร้างมาจากนักพัฒนาใหม่ ๆ ที่มีประสบการณ์น้อย ดังนั้น เราจำเป็นต้องแก้ไขตรงนี้ คือ จ้างแต่นักพัฒนาที่มีประสบการณ์สูง ๆ !! หรือไม่เช่นนั้น ต้องให้นักพัฒนาใหม่ ๆ เรียนรู้เพิ่มเติม ต้องสอนเพิ่มเติม ต้องเก็บเกี่ยวประสบการณ์มากขึ้น มันเป็นแนวทางที่ดูดีมีเหตุผลนะ แต่เราไม่มีเวลา !!

ในการพัฒนา software เน้นเพียงทำให้เสร็จ ทำให้เสร็จ ทำให้เสร็จ !!

โดยเรื่องคุณภาพของ code มีสำคัญรองลงไป ทำให้นักพัฒนาสนใจเพียงการทำงานให้เสร็จ ๆ ไป ทำให้นักพัฒนาคิดว่า เขียนอย่างไรก็ได้ เพื่อให้งานเสร็จตามเวลา นั่นหมายความว่า เราเริ่มต้นจากการสร้างของแย่ ๆ และทุก ๆ คนที่เกี่ยวข้องก็เห็นดีเห็นงามไปด้วย ผลลัพธ์ที่ออกมาจึงเป็นอย่างที่เห็นในทุกวันนี้นั่นเอง poor-code-01

ดังนั้นสิ่งที่ควรแก้ไขคือ เรื่องของคุณภาพของ code

มันต้องเป็นสิ่งที่มาพร้อมกับนักพัฒนาตั้งแต่เริ่มต้น เหมือนกับการของแพทย์ คุณจะไว้ใจและยอมรับให้แพทย์ที่ไม่มีมาตรฐานมารักษาหรือผ่าตัดหรืออย่างไร ? แน่นอนว่า คุณย่อมไม่ไว้ใจ เหมือนกับการบิน คุณจะไว้ใจและยอมรับให้นักบินที่ไม่เคยนำเครื่องบินลงอย่างปลอดภัยมาขับหรือไม่ ? แน่นอนว่า คุณย่อมไม่ไว้ใจ ดังนั้นในการพัฒนา software ก็เช่นกัน คุณจะไว้ใจและยอมรับให้มี code แย่ ๆ กันหรือไง ? แน่นอนว่าไม่

คำถามที่น่าสนใจ คือ แล้วทำไมนักพัฒนาถึงสร้าง code แย่ ๆ ออกมาล่ะ ?

สาเหตุเกิดจากอะไรบ้าง ? เมื่อย้อนกลับไปดูที่หนังสือสมัยเรียน Programming ช่วงเริ่มต้น พบว่ามันประกอบไปด้วย code ที่แย่ ๆ จำนวนมาก ตัวอย่างเช่น
  • การตั้งชื่อที่มีแต่ a,b,c,i,j,k,x,y,z
  • การตั้งชื่อ class เช่น Sample1, Class1
  • การทำงานอยู่ใน main method ทั้งหมด
  • ตัวอย่าง code ที่แย่ ๆ เช่นการ validation ข้อมูล และการจัดการ error ต่าง ๆ รวมทั้งการใช้งาน if-else และ switch-case แบบเยอะ ๆ
  • หนังสือส่วนใหญ่เน้นสอนแต่เรื่องของ syntax ของภาษา
ซึ่งหนังสือเหล่านั้นสอนเพียงให้เข้าใจ syntax ของภาษา เน้นเพียงให้ระบบทำงานได้อย่างถูกต้องตามที่ต้องการ แต่ไม่ได้สอนให้เราเขียน code เพื่อให้คนอื่น ๆ อ่านเข้าใจ เน้นเพียงให้เครื่องเข้าใจและทำงานได้อย่างถูกต้อง แน่นอนว่า เป็นสิ่งที่ทำให้นักพัฒนาใหม่ ๆ เดินผิดทาง เป็นสาเหตุหนึ่งที่คนส่วนใหญ่มักบอกว่า นักพัฒนา software มันพูดกับคนอื่นไม่รู้เรื่อง

ดังนั้นหนังสือที่นักพัฒนาทุกคนควรอ่าน เรียนรู้ตั้งแต่เริ่มเขียน code คือ

สิ่งที่นักพัฒนาทุกคนควรใส่ใจ คือ

เรียนรู้การสร้าง code ที่มีคุณภาพที่ดี ทั้งจากการเรียนรู้ด้วยตนเอง ทั้งจากหนังสือต่าง ๆ ทั้งจากการเรียนรู้จากผู้อื่น ทั้งจากการ review code อยู่อย่างสม่ำเสมอ แล้วจะทำให้ code มีคุณภาพสูงขึ้นอย่างต่อเนื่อง
วันนี้คุณสร้าง code แย่ ๆ ออกมามากน้อยเพียงใด ?

Viewing all articles
Browse latest Browse all 1997

Trending Articles