เห็นบทความเรื่อง Code: Align the happy path to the left edge ที่กลุ่ม Golang Thailand
ผู้พูดคือ คนเขียนหนังสือ Go Programming Blueprints นั่นเอง
ซึ่งพูดในงาน Golang UK Conference ตั้งแต่ปี 2016
เห็นว่าน่าสนใจจึงนำมาสรุปไว้นิดหน่อย
มาเริ่มกันเลย

จากชื่อของบทความน่าจะบอกได้อย่างชัดเจน
นั่นคือส่วนการทำงานหลัก หรือ happy path ให้อยู่ทางด้านซ้ายมือของเรา
เหมือนกับหนังสือที่เรา ๆ อ่านกันนั่นเอง
แน่นอนว่า อ่านง่าย
อย่าซ่อนการทำงานไว้ใน if-else if – else ที่ซับซ้อน
นั่นคือ อย่าเป็นลูกอีช่าง if มากนัก

ไม่ใช่ให้ code ที่เราต้องการอยู่ซ้ายมือแบบลึกสุดใจดังรูป
ซึ่งผมมักจะเรียกว่า arrow function !!

ในแต่ละ function ต้อง Fail Fast และ Return First
หมายความว่า
ในแต่ function ควรทำการตรวจสอบสิ่งที่ไม่ต้องการ หรือ ไม่เป็นที่ต้องการในการทำงาน
ให้ทำการตรวจสอบและจัดการตั้งแต่แรกเลย
จากนั้นจึงทำการ return ผลการทำงานกลับไป
แต่ถ้าผ่านเงื่อนไขต่าง ๆ แล้ว
ก็ทำงานตาม happy path
มันจะทำให้ code ของเราอ่านง่ายขึ้นอีกเป็นกอง
ดังนั้นอย่าเอา logic หลาย ๆ อย่างมารวมกัน
แต่ให้ทำเป็นกลุ่ม ๆ แทน
จะลดการเขียน if ซ้อนกันหลาย ๆ ชั้นลงไปได้เยอะเลย (Nest if)

ยังไม่พอนะ
ถ้ามีเงื่อนไขการตรวจสอบเยอะ ๆ หรือ ยาวหลายบรรทัด
หรือมี indent ทางขวามือมาก ๆ แล้ว
น่าจะได้เวลาที่ควรแยกออกไปเป็น method ใหม่ได้แล้ว (Extract to new method)
มันยิ่งทำให้เราอ่านเข้าใจง่ายขึ้น
ที่สำคัญชื่อ method ก็สำคัญด้วยเช่นกัน

โดยรวมแล้วมันคือหลักการ Clean Code
และ Coding for Human มาก ๆ
วันนี้ code ของเราเป็นอย่างไรนะ ?

ดูเพิ่มเติมได้จาก Youtube