ต้นทุนของความไม่เป็นระเบียบ

Image placeholder
แวะมาทักทายกันได้


ถ้าคุณเป็นโปรแกรมเมอร์ที่ประสบการณ์สูงทำงานด้านการพัฒนาโปรแกรมมามากกว่า 3 ปี ต้องรู้อย่างแน่นอนว่า Code ที่ไม่เป็นระเบียบทำให้ทำงานได้ช้าลง

 

ความไม่เป็นระเบียบของ Code ทำให้งานในการเขียน Code ช้าลงได้อย่างไร

 

ผู้เขียนขอเล่าเป็นนิทานสมมติเรื่องหนึ่งซึ่งไม่มีอยู่จริงมาเป็นเคสตัวอย่าง

 

กาลครั้งหนึ่งนานมาแล้ว มีโครงการที่มีขนาดใหญ่ ทำให้ซอฟต์แวร์มีขนาดใหญ่และอาจจะมีหลายระบบเพื่อรอการเชื่อมต่อ มีเวลาของโครงการเพียง 3 เดือน

 

โปรแกรมเมอร์คนแรกที่ตกลงจ้างเพื่อพัฒนาระบบ เขียน Source code มาระยะเวลาเป็นเวลา 2 เดือน แล้วก็ติดปัญหาบางอย่างจึงทำให้ไม่สามารถทำงานต่อได้ แล้วโปรแกรมเมอร์คนแรกก็ลาออกไป

 

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

 

จากนั้นโปรแกรมเมอร์คนที่สอง มาตรวจสอบและเช็ค Source code ของโปรแกรมเมอร์คนที่หนึ่งว่าเป็นอย่างไรพบว่า เขียนไม่เป็นระเบียบ และ ยังไม่เข้าใจอีกด้วยว่า ตัวแปรต่างๆ หมายถึงอะไร ใช้งานอย่างไร ภาระกรรมจึงตกมาเป็นของโปรแกรมเมอร์คนที่สองอย่างหนัก โปรแกรมเมอร์คนที่สอง รีบบอกผู้ว่าจ้างทันทีว่า รีบไปจ้างโปรแกรมเมอร์คนที่สามและคนที่สี่ มาช่วยหน่อย

 

จบ.

 

จากนิทานเคสตัวอย่าง ปัญหาของความไม่เป็นระเบียบ มีอะไรบ้าง

 

การบริหารจัดการที่แย่ลง เวลาลดน้อยลงไปเรื่อยๆ ซอฟต์แวร์ไม่สามารถทำได้ตามเป้าหมาย หรือ ได้ฟังก์ชันตามแผนได้น้อยลง

 

จากปัญหาที่เกิดขึ้น ถ้าเราแก้ปัญหาด้วยการเพิ่มโปรแกรมเมอร์คนที่สาม คนที่สี่ล่ะ จะดีจริงๆหรอแล้ว จะเกิดอะไรขึ้น

 

แน่นอนว่า เวลาก็อาจจะเพิ่มขึ้นไปอีก และ ต้นทุนในการจ้างก็เพิ่มด้วยเช่นกัน ทั้งยังต้องมาเสียเวลาในการศึกษา Source code เก่าอีกด้วย

 

หวังว่าบทความเรื่องนี้จะเป็นประโยชน์และเริ่มศึกษาการเขียน Code ให้เป็นระเบียบตั้งแต่แรก เพื่อไม่ให้เกิดต้นทุนที่บานปลายนะครับ

 

Ref: แปลตามความเข้าใจของส่วนหนึ่งในหนังสือ Clean Code

 

หากบทความนี้ เป็นแรงบันดาลใจและกระตุ้นการทำงานของคุณโปรดช่วยกด Ads โฆษณาเพื่อสร้างรายได้เป็นกำลังใจให้แก่ผู้เขียน นำเรื่องราวดีๆมาให้อ่านด้วยนะครับ

แวะมาทักทายกันได้
donate