Skill เบื้องต้นของ Programmer ตอนที่ 3: Write Code for another Coder

ผมมีประสบการณ์การเป็นที่ปรึกษาของรุ่นน้อง เพื่อนๆ หลายๆ คนนะครับ 
คุณเคย "ปวดหัว" กับการต้องอ่านโค้ดง่ายๆ ไหมครับ ? 

คำตอบรู้ครับ ว่าโค้ดทำงานยังไง แต่โค้ดมัน "ไม่น่าอ่านเอาเสียเลย"
จนบางที ถ้าเจอโค้ดที่ซับซ้อนหน่อย ผมต้องเป็นคน "แก้ไข" เพื่อนั่งอ่านเสียเอง

เบื้องต้น สิ่งที่ควรทำ ตามหลักของ Readable Code สิ่งนี้เรียกว่า "Aesthetics"
โดยในที่นี้จะกล่าวถึงจังหวะการเว้นวรรค การใส่ Indent (soft tabs) ให้ Code

ลองดูโค้ดง่ายๆ 2 ภาพ ซ้ายและขวานะครับ
อันไหนน่าอ่านกว่ากัน ... 





ผมเจออะไรแบบนี้ตั้งแต่น้องปี 1 ยันพี่ปีสูงๆ ... 

นี่แค่โปรแกรมง่ายๆ ที่มองแว๊บเดียวก็รู้ว่ามันทำอะไรนะครับ
นึกภาพโปรแกรมที่ซับซ้อนกว่านี้สัก 10 เท่าสิ :(

เรื่องของ "Aesthetics Coding" ยังมีอีกหลายข้อที่น่าสนใจนะครับ 

เช่น การจัดย่อหน้าให้ตรงกันของ Function ที่มี Argument หลายๆ ตัว (ยาวมากกว่า 1 บรรทัด)
นี่เป็นแค่เบื้องต้นเท่านั้น ...

Knowledge from Chapter 4: The Art of Readable Code.

เราเขียนโค้ดยังไงก็ตามนะครับ ถูก Syntax ยังไง คอมพิวเตอร์ก็อ่านออก
แต่ไม่ได้มีแต่ "คอมพิวเตอร์" เท่านั้นนะครับ ที่จะมาอ่านโค้ดของเรา :)



** เรื่องการใส่ Indent ให้กับ Code เนี่ยบางภาษาอาจจะต่างกันไปนะครับ 
   เช่น Python จะมีขนาด Indent เท่ากับ "    " (4 white space) และภาษาส่วนใหญ่จะอยู่ที่ 4 
   ภาษาเท่าที่ผมเคยเขียนมาเนี่ย เจอแค่ Ruby นะครับที่ใช้ "  " (2 white space) 

"จงเขียนโค้ดเพื่อให้คนอ่าน และบังเอิญมันเอาไปใช้งานได้"
Write code for people to read, and occasionally for machine to execute.
via อาจารย์รวิทัต ภู่หลำ

Popular posts from this blog

12 วิธี การบริการและดูแลลูกค้าในร้าน Starbucks

[Android Dev] การติดตั้ง Eclipse+AndroidSDK เพื่อพัฒนาโปรแกรมบน Android

5 TED Talk ที่จะช่วยให้คุณทำงานดีขึ้น