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

"อีสุกอีใส" ประสบการณ์เมื่อต้องมาเป็นตอนอายุ 22

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