The Art of Early Return: วินัยแห่งการ “คัดออก” เพื่อสมองที่โล่งกว่าเดิม 10 เท่า

Share
The Art of Early Return: วินัยแห่งการ “คัดออก” เพื่อสมองที่โล่งกว่าเดิม 10 เท่า
Photo by Clemens van Lay on Unsplash

ในโลกของการพัฒนาซอฟต์แวร์ เรามักจะถูกสอนให้เป็นคนรอบคอบ ให้คิดถึงความเป็นไปได้ให้ครบทุกด้าน แต่บ่อยครั้งที่ “ความรอบคอบ” นั้นกลับกลายเป็นกับดักที่สร้างความซับซ้อนจนเราเองก็รับมือไม่ไหว


วันนี้ผมอยากจะหยิบยกปรัชญาหนึ่งที่ผมพบจากการเขียนโปรแกรม โดยเฉพาะในภาษาอย่าง Rust ซึ่งมันไม่ได้ช่วยแค่ให้โค้ดสะอาดขึ้น แต่มันยังเปลี่ยนวิธีคิดในการบริหารจัดการชีวิตและการทำงานได้อีกด้วย สิ่งนั้นเรียกว่า “Early Return” ครับ

1. ปิรามิดแห่งความตาย (The Pyramid of Doom)

ลองจินตนาการถึงโค้ดที่เต็มไปด้วย if ซ้อน if ลึกเข้าไปเรื่อยๆ เพื่อตรวจสอบเงื่อนไขก่อนจะเริ่มรัน Logic สำคัญ

ถ้าเงื่อนไข A ผ่าน… ถ้าเงื่อนไข B ถูกต้อง… ถ้าเงื่อนไข C ไม่มีปัญหา… -> ค่อยเริ่มทำงานจริงๆ

ในทางเทคนิคเราอาจเรียกมันว่า Nested Logic แต่ผมขอนิยามมันว่าเป็น “การแบกเงื่อนไข” ครับ ทุกครั้งที่คุณสร้างเงื่อนไขซ้อนเข้าไป สมองของคุณต้องหยิบ “ลูกบอล” ซึ่งเปรียบเสมือนภาระของสมองที่ต้องคอยประคอง (Cognitive Load) ขึ้นมาถือไว้ เพื่อย้ำเตือนตัวเองว่า “ตอนนี้สถานะทุกอย่างยังโอเคอยู่นะ”

ยิ่งซ้อนลึกเท่าไหร่ พลังงานสมองของคุณก็หมดไปกับการ “ทรงตัว” ไม่ให้ลูกบอลเหล่านั้นหล่นหาย จนแทบไม่เหลือพลังไปโฟกัสกับเป้าหมายจริงๆ หรือที่เราเรียกว่า Happy Path

2. พลังของการ “ปฏิเสธ” ให้เร็ว

หลักการของ Early Return คือการพลิกวิธีคิดครับ แทนที่จะถามว่า “ทำอย่างไรถึงจะผ่าน?” ให้เราตั้งคำถามใหม่ว่า “มีเหตุผลอะไรที่เราควรจะหยุดทำตอนนี้เลยไหม?”

ในภาษา Rust เราใช้เทคนิคนี้เป็นมาตรฐานผ่าน Guard Clauses หรือการคัดกรองสิ่งที่ไม่ใช่ออกไป:

  1. ดูหน้าแรก ถ้าผิด? Return ทันที
  2. เช็คสิทธิ์ ถ้าไม่มี? Return ทันที

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

3. เมื่อ Rust สอนให้เรา “ชิดซ้าย”

ความงดงามของ Early Return คือมันจะดันงานสำคัญของคุณให้กลับมาอยู่ “ชิดขอบซ้าย” ของหน้าจอเสมอ มันคือเส้นตรงที่เรียบง่าย อ่านง่าย และโปร่งสบาย

โดยเฉพาะเครื่องมืออย่าง The ? Operator ใน Rust ที่ทำหน้าที่เป็น Early Return อัตโนมัติเมื่อเจอข้อผิดพลาด มันคือตัวช่วยตัดสินใจชั้นดีที่บอกเราว่า "ถ้ามีอะไรผิดพลาดระหว่างทาง ให้ดีดตัวกลับไปเริ่มต้นใหม่ให้เร็วที่สุด อย่าฝืนเดินลึกเข้าไปในเขาวงกตที่ซับซ้อน"

4. จากโค้ดสู่การบริหารชีวิต

ในฐานะโปรแกรมเมอร์และผู้บริหาร ผมพบว่าเราสามารถประยุกต์ Early Return เข้ากับชีวิตจริงได้ในทุกมิติ:

  • การประชุม: หากพบว่าวาระการประชุมไม่ชัดเจน หรือข้อมูลไม่พร้อม แทนที่จะทนรอจนจบชั่วโมง ให้เรา “Early Return” ตัวเองออกมาเพื่อรักษาพลังงานสมองไว้ทำสิ่งที่สำคัญกว่า
  • การตัดสินใจทางธุรกิจ: หากโปรเจกต์ไหนเริ่มส่งสัญญาณที่ไม่ใช่ การตัดไฟแต่ต้นลมคือวินัยที่ช่วยรักษามาตรฐานขององค์กร
  • ชีวิตประจำวัน: การปฏิเสธสิ่งที่ไม่ใช่ให้เร็ว คือการสร้างพื้นที่ว่างให้กับสิ่งที่ “ใช่” จริงๆ ได้เติบโต

บทสรุป

The Art of Early Return ไม่ใช่แค่เรื่องของ Syntax หรือการเขียนโปรแกรมครับ แต่มันคือวินัยในการจัดการกับ “ความซับซ้อน”

ฝึกที่จะคัดออกให้ไว วางเงื่อนไขที่ไม่จำเป็นทิ้งไปให้เร็ว แล้วคุณจะพบว่าเมื่อ Happy Path ของคุณสะอาดตาและสมองของคุณไม่ต้องแบกภาระที่เกินตัว คุณจะสามารถส่งมอบคุณค่าที่ลึกซึ้งกว่าเดิมได้อย่างน่าอัศจรรย์

เพราะการถึงเป้าหมายที่ไวที่สุด บางครั้งอาจหมายถึงการรู้จักทางออกที่เร็วที่สุดนั่นเอง

หากบทความนี้มีประโยชน์

คุณสามารถติดตาม Late Night with Uncle Quin ได้ทาง

ที่ที่เราคุยกันเรื่อง software, engineering mindset และอนาคตของ developer

แบบไม่ต้องใส่สูท

แต่ใส่ความจริงของวงการเข้าไปเต็ม ๆ

Read more

เริ่มต้นกับ Functional Programming

เริ่มต้นกับ Functional Programming

ก่อนหน้านี้ผมเจอโพสต์หนึ่งถามว่า สำหรับคนที่เคยใช้แต่ OOP จะเริ่มต้นกับ Functional Programming ควรเริ่มยังไงดี ผมชอบคำตอบที่ตัวเองตอบไป เลยอยากเอามาจดเก็บไว้ ฝันร้ายของโปรแกรมเมอร์ ก่อนจะเข้าไปใน programming แต่ละ paradigm ผมอยากเริ่มต้นที่ปัญหาก่อน หนึ่งในปัญหาที่หลอกหลอนโปรแกรมเมอร์มากที่สุด คื

By Chokchai Phatharamalai
Values ของ Framework ต่าง ๆ

Values ของ Framework ต่าง ๆ

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

By Chokchai Phatharamalai
Accepted Responsibility

Accepted Responsibility

ช่วงนี้ผมกำลังอ่านหนังสือ Extreme Programming Explained ของ Kent Beck แล้วก็ได้เจอหัวข้อหนึ่งที่กระทบใจ คือ principle ที่เรียกว่า Accepted Responsibility Principle คืออะไร? ในหนังสืออธิบายว่า Principle คือหลักการที่ทำให้ Values ของ XP กลายเป็น Practices ได้

By Chokchai Phatharamalai
The Five Ideals

The Five Ideals

จากหนังสือ The Unicorn Project ในนั้นจะมีที่ปรึกษาเก่ง ๆ คนหนึ่งชื่อ Erik เป็นเหมือนเซ็นเซหาตัวยาก เดี๋ยวก็มา เดี๋ยวก็ไป ถ้าโชคดีก็จะเจอเค้าว่าง แล้วเค้าก็จะสอนอะไรที่สำคัญ ๆ แต่ฟังดูล้ำ ๆ และลึกซึ้ง

By Chokchai Phatharamalai