อย่ามัวแต่กลัว Code ของคนอื่น

รูปภาพ cover

อย่ามัวแต่กลัว Code ของคนอื่น
.
คุณน่าจะเคยเห็น หรือเคยได้ยินมาบ้าง ว่า Project บาง Project ที่มีคนทำเอาไว้ก่อนแล้ว ถ้าหากต้องให้คนอื่นมาทำต่อ การทำใหม่น่าจะง่ายกว่า และเชื่อเลย ว่า... ในบางครั้ง นั้นเป็นคำพูดของคุณเอง
.
มันเป็นแบบนั้นจริงๆหรือครับ... หลังจากที่ผ่านประสบการณ์การอ่าน Code ที่แสนเจ็บปวดจากหลายๆคนมานาน และจากหลายๆ Project สิ่งหนึ่งที่ผมพบคือ หลายๆครั้ง ความกลัว Code ของคนอื่น มันเข้าครอบงำความคิดของเรา
.
ความรู้สึกแบบนี้ จะเกิดขึ้นต่อเมื่อคุณเริ่มอะไรใหม่ๆ เช่น คุณเริ่มทำงานใหม่ คุณเปลี่ยนที่ทำงานใหม่ คุณเปลี่ยนเพื่อนร่วมงานใหม่ และการขาดประสบการณ์ แน่นอนผมเองก็เป็น โคตรจะปรกติเลย
.
แต่พอมานั่งนึกตอนนี้ กลับรู้สึกว่า.... ความจริงแล้ว เรากำลังทำงานกับ Code ของคนอื่น อยู่ตลอดเวลาเลยนี่หว่า มันเป็นงานประจำของเรา ที่เราต้องเจอตลอด หันไปทางไหนก็เจอ มองไปทางไหนก็ใช้ไปหมด
.
งั้น...ทำไมเรายังกลัว code ของคนอื่นอีกหละ
.
อันที่จริงแล้ว โลกของเราเต็มไปด้วยการทำงานร่วมกันกับ Code ของคนอื่นอยู่ตลอดเวลา ให้คุณลองมองไปที่ Linux Kernel จริงอยู่ว่ามีคน เร่ิมต้นมันขึ้นมาเพียงคนเดียว แต่หลังจากนั้น มันก็ถูกนำไปพัฒนาต่อยอด ร่วมกันในโครงการเดียวกัน ที่ไม่ได้มีความเข้าใจ หรือการร่ำเรียนมาในทิศทางเดียวกันเลย
.
แต่ทุกวันนี้ มันเติบโต และถูกนำไปใช้งานอย่างแพร่หลาย หลายๆคนรู้จักและเข้าใจ ผมเองก็ยังใช้งาน linux ในตอนทำ Server เอาไว้วางไฟล์ แต่ไม่ได้เข้าไปเขียน code บนแกนอย่างเค้า แค่นำมาใช้งานเท่านั้น
.
หลักๆ ผมเป็นนักพัฒนาในสาย PHP เพราะงานส่วนใหญ่ที่ทำ ทำบน PHP เป็นหลัก แม้จะมีหลายคนค่อนแคะ ว่าเก่า เชย ไร้รสนิยม ไร้ประสิทธิภาพอยู่เสมอๆ แต่งานของผมก็ทำออกมาในราคามหาศาล ที่ธุรกิจต่างๆนำไปต่อยอดกันได้ นำไปดูแลระบบกันได้
.
ผมเลือกใช้งาน PHP Framework เป็นตัวกรอบในการทำงาน มีทั้ง Zend, Laravel และที่ใช้บ่อยๆก็ Codeigniter และนั้น ทำให้ผมเจอกับคำว่า เรากำลังทำงานร่วมกับ Code ของคนอื่นอยู่ตลอดเวลาเลยนี่หว่า
.
ไม่ใช่แค่นั้น แม้แต่ CSS Framework อย่าง bootstrap หรือ library ต่างๆที่หยิบมาทำงาน ก็ล้วนแล้วแต่เป็น code ของคนอื่นทั้งนั้นเลย 555 อันที่จริงเป็น code ของเราเองน้อยมากเลยนะ ถ้าเทียบ % กันจริงๆ
.
ตอนนี้ผมเลยมองกลับไปที่ Project ต่างๆที่ตกมาถึงมือผม จากหลายๆเหตุผล เช่นคนเก่า ออกไปแล้ว หรือลูกค้ามาจ้างให้พัฒนาต่อยอดจากของเดิม ผมเริ่มชินกับมันแล้ว 
.
คุณจะเห็นว่า ถ้างานเหล่านั้น ถูกออกแบบมาดี มันจะมีรูปแบบในการเขียนที่เราเข้าใจง่าย แต่ถ้าคนที่ทำมา ประสบการณ์น้อย ชั้นเชิงเรื่องความขี้เกียจน้อย การใส่ใจในคุณภาพน้อย การใส่ใจเรื่องของ Security น้อย code มันจะยิ่งง่าย เพราะมันแถบจะไม่ได้ทำอะไรเลย
.
Code เหล่านี้ เราเรียกมันว่า Spaghetti Code เป็น Code ที่น่ากลัว และน่าสยดสยองมากๆ เหมาะกับวันฮาโลวีนที่เพิ่งผ่านไปจริงๆ 
.
แต่หลายๆครั้ง มันไม่ได้เกิดจากการที่ ผู้เขียน ไม่เก่ง ไม่มองทุกอย่างเป็น OOP ไม่ทำในรูปแบบของการ Reuse แต่มันมักเกิดจาก การเปลี่ยนแปลงวัตถุประสงค์ของลูกค้ากลางทาง การเพิ่มเติม แก้ไข เปลี่ยนแปลง Requirement เรื่องเหล่านี้ ทำให้ Code ดีๆ กลายร่างเป็นเรื่องสยองมาแล้วนักต่อนัก 
.
ดังนั้นวันนี้ ถ้าคุณยังมีความกลัว Code ของคนอื่นๆอยู่ เลิกกลัวกันได้แล้วครับ ให้เปลี่ยนเป็นมองมันอย่างท้าทาย ว่าทำไมมันถึงได้เป็นแบบนี้ และจะแก้ไขมันได้อย่างไร จะทำให้มันดีขึ้นกว่าเดิมได้อย่างไร แบบนี้ดีกว่ากันเยอะเลย
.
ไม่ได้เขียนอะไรยาวๆรับเช้าวันอาทิตย์มานาน ขอให้สนุกกับการ Code ร่วมกันกับผู้อื่นนะครับ
.
Photo by rithwick. pr on Unsplash
.
ขอบคุณครับ
ธีรภัทร เกษสกุล