#1 tech recruiter in thailand

แนวทางเพื่อการเขียน Code ที่เรียบง่าย

การเขียน Code ที่เรียบง่ายนั้น ไม่ใช่เรื่องยากเลย แต่เรามักทำให้มันเป็นเรื่องซับซ้อน เพราะต้องการให้มัน “พร้อมสำหรับในอนาคต” ด้วย เมื่อเราเรียนรู้ที่จะเอาชนะความเข้าใจผิดในเรื่อง “พร้อมสำหรับในอนาคต” แล้ว Code ของเราไม่เพียงเรียบง่ายขึ้นและ Clean ขึ้นเท่านั้น แต่เรายังเติบโตในฐานะของ Developer ที่ดีอีกด้วย เรามาดูกันว่า 3 แนวทาง ในการเขียน Code ที่เรียบง่าย มีอะไรบ้าง

ย้อนกลับไปตอนที่ Ravi Shankar Rajan ซึ่งเป็นผู้เขียนบทความนี้เขียน Program มีความจริงข้อหนึ่งที่สอนเขาอยู่เสมอคือ “อย่าเขียน Code แบบเดิมซ้ำๆ”

คุณต้อง Refactor Code ของคุณและทำให้มัน Reusable ได้ เพื่อให้มันดีกว่าเดิม คุณต้องทำให้ Developer คนอื่นๆ สามารถใช้ Code ของคุณได้ด้วย Developer ที่ยอดเยี่ยม จะเขียน Code ให้เหมือนกับเป็นมรดกชิ้นสำคัญของพวกเขา แต่ด้วยแนวทางแบบนั้น กลับทำให้ Ravi ต้องใช้เวลามากขึ้นเรื่อยๆ ในการทำให้ Code ของเขาที่เขียนไว้แล้ว ดีกว่าเดิมยิ่งขึ้น

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

ไม่จำเป็นต้องเขียน Component ที่สามารถ Reusable ได้ทุกครั้งเสมอไป

บางคนอาจโต้แย้งว่า คุณควรพยายามที่จะทำให้ Component ของคุณสามารถนำมา Reusable หรือใช้งานซ้ำให้ได้มากที่สุดเท่าที่จะทำได้ เพราะมันทำให้คุณ ต้องทำงานในเรื่องที่เกี่ยวกับคุณภาพไม่ว่าจะเกิดอะไรขึ้นก็ตาม และจะผลิต Software ที่ดีกว่าเดิม นี่มันคงจะดีหากเป้าหมายเดียวของคุณ คือการสร้าง Software ที่ดีที่สุดในโลก แต่ในความเป็นจริง อาจไม่มีใครจ้างให้คุณทำแบบนั้น

ในความเป็นจริงแล้ว จะมีคนจ้างคุณเพื่อให้เขียน Software ที่มีคุณภาพเพียงพอ ภายในเวลาและงบประมาณที่กำหนดไว้ หากคุณใช้เวลาไปโดยไม่จำเป็นเพื่อทำให้ Code ของคุณมันดีที่สุด ซึ่งอาจทำให้คุณรู้สึกดี แต่มันเป็นการสิ้นเปลืองเวลา คุณต้องกำหนดระยะวลาที่จัดเจนว่าจะทำ Product ให้ดีที่สุดตามที่ควรจะเป็นและมุ่ง Focus กับมัน มิฉะนั้น งานคุณจะไม่มีวันจบ

You Aren’t Gonna Need It

YouArentGonnaNeedIt (ย่อมาจาก YAGNI) ซึ่งมันหมายถึง “จง Implement เฉพาะในสิ่งที่คุณต้องการหรือสิ่งที่จำเป็นจริงๆ และไม่ต้อง Implement มัน หากคุณแค่คาดว่าอาจจะต้องการมัน”

มี 2 เหตุผลหลักๆ ในการฝึกฝนในเรื่องของ YagNi:

  • คุณจะประหยัดเวลาได้มาก เพราะคุณไม่ต้องเขียน Code ที่ไม่จำเป็น
  • Code ของคุณจะมีคุณภาพกว่า เพราะคุณไม่ต้องเขียน Code ที่มาจากการคาดเดา

ทำในสิ่งที่เรียบง่ายที่สุดเท่าที่จะเป็นไปได้

การเขียน Program ขั้นสูง ได้มีการกล่าวถึงกฎสำคัญ 2 ข้อในการเขียน Code ที่เรียบง่าย

  1. Implement ขีดความสามารถใหม่ๆ ในวิธีการที่เรียบง่ายที่สุดที่คุณคิดว่า “อาจเป็นไปได้” อย่าไปสร้างอะไรที่มากเกินความจำเป็น ไม่ต้องทำในสิ่งที่เพ้อฝัน เพียงแค่ทำให้มันทำงานได้อย่างถูกต้อง พยายามให้ Code ของคุณผ่านการทำ Unit Test สำหรับ Feature ใหม่ๆ (หรือทุกๆ Feature)
  2. นี่คือกฏที่สำคัญ คือ Refactor ระบบให้เป็น Code ที่เรียบง่ายที่สุดที่เป็นไปได้ รวมไปถึง Feature ทั้งหมดที่มีอยู่ในขณะนี้ ควรทำตามกฏ ปฏิบัติตามกฎ OnceAndOnlyOnce และกฏอื่นๆ ที่เกี่ยวกับ Code Quality อื่นๆ ที่คุณรู้จัก เพื่อให้ System ของคุณ Clean มากที่สุดเท่าที่จะทำได้

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

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 แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่

th