เมื่อการเขียน Code เปรียบเหมือน ภูเขาน้ำแข็ง

เมื่อการเขียน Code เปรียบเหมือน ภูเขาน้ำแข็ง

HOME › เมื่อการเขียน Code เปรียบเหม...

มุมมองที่คุณ Huseyin Polat Yuruk(ผู้เขียนบทความ) คิดเห็นเกี่ยวกับความจริงที่ซ่อนอยู่ซึ่งเหล่า Developer มักจะลืมหรือละเลยไปในช่วงที่พวกเขาตื่นเต้นที่จะได้เขียน Code หรือกำลัง Implement งานใหม่ ๆ ซึ่งเขาได้เปรียบเทียบ “การเขียน Code” กับ “ภูเขาน้ำแข็ง(Iceberg)” เรามาดูกันว่า การเขียน Code เปรียบเหมือน ภูเขาน้ำแข็ง ได้อย่างไร
“ภูเขาน้ำแข็ง” เมื่อมองจากภายนอกแล้ว ดูจะมีขนาดเล็กและสวยงาม ดังนั้น ผู้คนมักจะลืมนึกถึงขนาดที่แท้จริงและสิ่งที่ซ่อนอยู่ข้างใต้ผืนน้ำ สิ่งที่ผู้คนมองเห็นจากภายนอกเป็นเพียงแค่ส่วนปลายยอดของมันเท่านั้น ซึ่งการเขียน Code ก็เช่นเดียวกัน
เมื่อคุณเริ่มเขียน Code คุณมักจะให้ความสำคัญกับสิ่งที่คุณต้องเขียนมากเกินไป และคุณก็ไม่ได้สนใจว่า มันอาจทำให้คุณต้องกลับมาเสียเวลากับมันในอนาคต
แต่เมื่อเวลาผ่านไป ประสบการณ์และความผิดพลาดทั้งหมดที่คุณเจอ จะกลับมาสอนคุณเองว่า สิ่งที่คุณเคยละเลยนั้น เป็นสิ่งสำคัญที่สุดที่คุณจะต้องพิจารณาและให้ความสำคัญ แล้วอะไรคือความจริงสำคัญที่ Developer มักจะลืมกันล่ะ?
ในช่วงเริ่มต้นที่คุณเพิ่งเห็น Code คุณจะคิดว่า มีอะไรที่ผิดพลาดได้บ้าง แต่จริง ๆ แล้วมันเป็นเพียงส่วนปลายยอดของภูเขาน้ำแข็งเท่านั้น ในช่วงการเขียน Program ของ Developer จะต้องใช้เวลาพอสมควรในการพัฒนาความสามารถเพื่อให้มองเห็นภูเขาน้ำแข็งทั้งหมด แต่ก่อนจะถึงขั้นนั้น คุณจะต้องผ่าน Coding Stage ทั้ง 3 ในเส้นทางการเขียน Program ของคุณให้ได้เสียก่อน เรามาดูกันในแต่ละ Stage กัน
1. เขียน Code ให้มากที่สุดเท่าที่จะทำได้
คุณยังจำช่วงที่เพิ่งเริ่มต้นทำงานแรกในฐานะ Junior Developer ได้หรือไม่ ตอนนั้นคุณกำลังไฟแรง แต่ยังไม่มีประสบการณ์ ในช่วงนั้นคุณมักระแวดระวังในเรื่องการเขียน Code แต่ละบรรทัด รวมทั้งระวังปัญหาที่จะแก้ คุณน้อมรับกับทุกสิ่งที่เข้ามาเพียงเพื่อที่คุณจะได้เขียน Code และคุณยินดีที่จะใช้เวลาหลายวันหลายชั่วโมงกับงานของคุณ
การที่คุณรู้สึกตื่นเต้นที่ได้เขียน Code จำนวนมาก ๆ ถือเป็นเรื่องที่ดี เพราะมันเป็นวิธีการเรียนรู้การเขียน Program และฝึกฝนฝีมือเพื่อให้เป็น Developer ที่เก่งขึ้น แต่เมื่อเราต้องเขียน Code เป็นจำนวนมาก เราก็มีโอกาสทำผิดพลาดมากเช่นกัน ซึ่งนั่นถือเป็นเรื่องดี ให้คิดว่า พวกมันเป็นแค่ความผิดพลาดเล็ก ๆ น้อย ๆ ไม่มีอะไรที่จะมาหยุดคุณจากการเขียน Code ได้
เมื่อเวลาผ่านไป อาจจะ 4 – 5 ปี คุณจะเริ่มเรียนรู้สิ่งใหม่ ๆ ในการเขียน Program ที่คุณยังไม่เคยรู้มาก่อน คุณจะได้พบกับสิ่งต่าง ๆ ที่มากกว่าการ Coding ใน Stage นี้คุณเพิ่งเห็นแค่ปลายยอดภูเขาน้ำแข็งของการเขียน Code เท่านั้น แต่ต่อไปคุณก็คงอยากรู้ว่ามีอะไรมากกว่านี้อยู่ใต้ทะเลบ้าง
นี่คือ Stage ที่คุณจะพบว่า ทุก Code จะต้องถูกอ่าน ถูกทำเข้าใจ ถูก Test และถูก Debug คุณจะเริ่มเข้าใจถึงความสำคัญของการ Maintain Software ในระยะยาว
2. เรียนรู้ที่จะหลีกเลี่ยงการเขียน Code ที่ไม่จำเป็น
หลังจากที่คุณเจอกับเรื่องสยองขวัญเกี่ยวกับการเขียน Program คุณก็พบว่าตัวคุณเองกำลังคิดถึง วิธีที่คุณจะสามารถหลีกเลี่ยงการเขียน Code ที่ไม่จำเป็น เนื่องจากคุณรู้ดีว่า มันจะกลับมาสร้างปัญหาให้คุณในอนาคต
ใน Stage นี้ คุณกำลังเรียนรู้ที่จะไม่เขียน Code เพื่อหลีกเลี่ยงการตกเป็นเหยื่อของเรื่องสยองขวัญอื่น ๆ อีก คุณยังคงตื่นเต้นกับการเขียน Code อยู่ แต่คุณก็ฉลาดพอที่จะรู้ว่า ยิ่ง Code น้อยลงเท่าไรก็ยิ่งดี “ความเรียบง่าย” ถือเป็นแนวทางที่ดีที่สุดของคุณ ณ เวลานี้ คุณเริ่มเข้าใจว่า การอ่าน Code ยากกว่าการเขียน Code และนั่นก็เป็นสาเหตุที่คุณเริ่ม Focus ไปที่ Code ที่อ่านแล้วเข้าใจง่ายและมีความเรียบง่าย
ลองทำตามหลักง่าย ๆ 2 – 3 ข้อนี้ มันจะช่วยเปลี่ยนคุณให้เป็น Programmer ที่ดียิ่งขึ้น
  • เขียน Code ให้น้อยลง
  • พยายามให้ Codebase ของคุณมีขนาดเล็กเข้าไว้
  • Focus และทำเฉพาะสิ่งที่จำเป็นเท่านั้น
3. ลบ Code ให้มากที่สุดเท่าที่จะทำได้
คุณคงรู้แล้วว่า ยิ่งคุณมี Code มากเท่าไหร่ ก็จะยิ่งมีโอกาสเกิด Bug มากขึ้นเท่านั้น เพราะมันต้องใช้เวลาในการตรวจสอบหรือ Compile นานขึ้น พนักงานที่เข้ามาใหม่ก็ต้องใช้เวลาในการทำความเข้าใจ System ของคุณนานขึ้น แถมยังมีอีกหลายสิ่งที่ต้องพิจารณาหากคุณต้อง Refactor
นอกจากนี้ Code ที่มากขึ้น หมายถึงการมี Flexibility และ Functionality ที่น้อยลง คุณจะเข้าใจตามประสบการณ์ของคุณเอง คุณรู้ว่าเมื่อใดที่ไม่ควรเขียน Code แต่ในขณะเดียวกัน คุณก็รู้ว่าการลบ Code ส่วนที่ไม่จำเป็น หรือการแก้ไขปัญหาที่ซับซ้อนด้วยวิธีการที่ง่ายกว่า จะช่วยให้คุณสามารถลดข้อบกพร่องใน Software ได้
ตอนนี้คุณจะได้เห็นภูเขาน้ำแข็งทั้งหมด คุณได้รู้แล้วว่า อะไรที่อยู่ใต้ท้องทะเล ครั้งต่อไปที่คุณเห็นภูเขาน้ำแข็งอีก คุณจะต้องระมัดระวังมากขึ้น และคุณจะไม่ทำผิดพลาดเหมือนอย่างเหตุการณ์ที่เกิดขึ้นกับเรือ TITANIC
บทความนี้ไม่ได้ต้องการให้คุณมองการเขียน Code ว่าเป็นศัตรู คุณเป็น Programmer แน่นอนว่าการเขียน Code เป็นสิ่งที่คุณหลงใหลและจะเป็นเช่นนั้นตลอดไป มันคือส่วนสำคัญในชีวิตของคุณ แค่อยากให้คุณเข้าใจว่า อะไรคือสิ่งที่อยู่เบื้องหลังของการเขียน Code ทั้งหมด และคุณต้องรับผิดชอบ Code แต่ละบรรทัดที่คุณเขียนด้วย
Source: https://medium.com/

 


ISM Technology Recruitment Ltd. (#1 Tech Recruiter in Thailand) เราเชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการกว่า 28 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย หากคุณเป็นคน IT ที่อยากทำงานท้าทายและร่วมงานกับองค์กรชั้นนำ สามารถฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่