#1 tech recruiter in thailand

สูตร(ไม่)ลับ เพื่อการ Coding ที่ดีขึ้น

See the original English version of this article here

บทความนี้เขียนโดยคุณ Tal Bereznitskey ซึ่งจะมาบอก สูตร(ไม่ลับ) เพื่อการ Coding ที่ดีขึ้นกว่าเดิม โดยบทความนี้เป็นความคิดเห็นส่วนตัวของเขา ซึ่งอาจทำให้เราได้เห็นมุมมองที่แตกต่างออกไปจากหนังสือ หรือจากคนอื่นๆ เรามาดูกันดีกว่าว่ามีอะไรบ้าง

Code ที่ดีกว่าเดิม คืออะไร?

เมื่อต้องเขียน Code สิ่งที่คุณ Tal โฟกัสอยู่เสมอ คือ

Readability: Code ที่ดีควรจะสามารถอ่านและเข้าใจได้ง่าย

Simplicity: ควรจะเป็น Code ที่เรียบง่าย บางครั้ง Code ที่เรียบง่าย อาจจะกลายเป็น Code ที่ยุ่งยากซับซ้อนหากใช้งานมันผิด

Consistent: ควรมีความสอดคล้องไปในทางเดียวกันทั้งหมด เช่น การจัดย่อหน้า/การเยื้อง, ชื่อ และ โครงสร้างของ File เป็นต้น

วิธีการเขียน Code ที่ดีกว่าเดิม

1. Zero comment policy

การ Comment ดูจะเป็นเรื่องเก่า/น่าเบื่อ และบางครั้งก็มีแนวโน้มที่จะบอกคุณแบบผิดๆ เกี่ยวกับ Code ด้วย นอกจากนี้การ Comment อาจทำให้ Code เกิดความกำกวมได้ทั้งที่มันอาจไม่มีตั้งแต่แรก แทนที่โฟกัสเรื่อง Comment เราควรไปโฟกัสเรื่อง Code ที่อ่านง่ายมากกว่า

2. Zero TODO policy

อย่าลืมว่า Code ของคุณไม่ใช่ Project Management System แต่ JIRA, Trello, Asana (และอื่นๆ) ดูน่าจะเหมาะสมกว่าสำหรับบันทึกหรืออัปเดตสิ่งที่ทำไว้ บางครั้งก็ไม่จำเป็นต้องเขียน TODO หรอก ถ้ามันเป็นเรื่องทั่วไป เช่น “Function นี้ควรเร็วขึ้นนะ” แต่ถ้าหากมันจำเป็นจริงๆ ก็ต้องแน่ใจว่าคนอื่นๆ จะเห็นมันได้ชัดเจน

3. Self documenting code

บางครั้งการใช้ตัวแปรที่เหมาะสม ก็สามารถช่วยให้ Code นั้นสามารถอธิบายตัวมันเองได้เลย เราสามารถใช้ตัวแปรเหล่านี้เพื่อแสดงเจตนา/คามตั้งใจ ของเราได้ดียิ่งขึ้น

4. Break early

Concept ของเรื่องนี้คือ ยิ่ง Return ค่าออกจาก Function ได้เร็วเท่าไหร่ Code ก็ยิ่งอ่านง่ายขึ้น

5. Immutable

สำหรับ Tal แล้ว เขาชอบ const references มากกว่า mutable references (let หรือ var ใน JavaScript) ส่วนใหญ่เป็นเพราะหลังจากที่เรารู้ว่าตัวแปรไหนเป็นอะไร(ในครั้งเดียว) เราจะได้ไม่ต้องคิดเกี่ยวกับมันซ้ำอีก และเขาก็พบ Feature เล็กๆ น้อยๆ ภาษาเพื่อ Support ในสิ่งนี้ (ไม่ว่าจะเป็นภาษาใดก็ตาม)

หรืออีกตัวอย่าง:

6. One LOC per thought

การอ่าน Code ที่มีซับซ้อนต้องใช้สมาธิเป็นอย่างมาก ให้แบ่งสิ่งที่ซับซ้อนนั้น ออกเป็นสิ่งที่เรียบง่ายมากขึ้น โดยทำให้ “coding sentences” สั้นลง

แล้วหาก Performance มันเปลี่ยนแปลงไปล่ะ? สำหรับ Tal แล้ว เขาไม่แคร์สักเท่าไหร่ เว้นเสียแต่ว่าจะมีปัญหาเกิดขึ้นจริงๆ อย่างเช่น App ทำงานช้าลงกว่าที่ควรจะเป็น

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

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

Source:  https://hackernoon.com/

en