![tabs-spaces]()
เห็นมีการพูดถึงเรื่องของการใช้ Tab และ Spacebar ใน code
ซึ่งในความเป็นจริงมันคือเรื่องของ Coding standard
ที่ทีมพัฒนาต้องตกลงร่วมกัน ว่าจะเดินไปในทิศทางไหน
โดยในปัจจุบันมีเอกสารหรือแหล่งอ้างอิงจำนวนมาก
จึงทำการสรุปมาไว้นิดหน่อย
มาเริ่มกันเลย
เรื่อง Coding Standard Guideline เป็นสิ่งสำคัญมาก ๆ
สิ่งที่นักพัฒนาต้องให้ความสำคัญของ Readability ของ code
เนื่องจากเราไม่ได้เขียน code เพื่อตัวเราเองเท่านั้น
แต่เพื่อให้คนอื่นอ่านและทำความเข้าใจได้ง่ายด้วย
ดังนั้นเรื่องของรูปแบบในการเขียน code
จำเป็นต้องเป็นไปในทิศทางเดียวกัน
โดยในปัจจุบันมี Guideline ต่าง ๆ มากมาย
ตัวอย่างเช่นในภาษา Java
ส่วนภาษาอื่น ๆ ก็เยอะเช่น
ในแต่ละตัวล้วนมีแนวทางของตัวเอง
ดังนั้นเราควรเลือกและตกลงร่วมกันซะ
ตัวอย่างเช่น
- การใช้ Tab และ Indent
- ขนาดความยาวของบรรทัด
- การตั้งชื่อตัวแปร
- การจัดการ Exception ต่าง ๆ
เมื่อค้นหาข้อมูลเพิ่มเติมพบว่า
จากงาน
Github Data Challenge
ทำการสรุปวิเคราะห์ code จาก github ไว้อย่างน่าสนใจ
ซึ่งแยกออกตามภาษาโปรแกรม เช่น JavaScript, Java, Python, Scala, Ruby, C# และ PHP
มาดูตัวอย่างกันหน่อย
มาดูผลของ Tab vs. Spacebar ในแต่ละภาษากัน
เรื่องของ Space vs. Tab
จะอยู่ที่ 66% ต่อ 33% แสดงดังรูป
ต่อมาเรื่องของ block statement
ว่าด้วยเครื่องหมายปีกกาเปิดนั่นเอง
- 58% อยู่ในบรรทัดเดียวกัน คั่นด้วย space เดียว
- 37% อยู่ในบรรทัดใหม่
- 5% อยู่ในบรรทัดเดียวกันแต่ไม่มี space คั่น
ต่อมาเรื่องความยาวต่อบรรทัด
การตั้งชื่อต้องมี prefix หรือไม่ ส่วนใหญ่ไม่มีนะ
ดังนั้นลองกลับมาถามตัวเราสิว่า รูปแบบของทีมเราเป็นอย่างไร ?
ได้ทำการพูดคุยตกลงร่วมกันหรือไม่ ? อย่างไร ?
สุดท้ายสำหรับชาว Golang บอกว่าใช้ go fmt สิ จะมาเถียงกันทำไม !!
ปิดท้ายด้วย Tab vs. Spacebar แบบฮา ๆ กันครับ
https://www.youtube.com/watch?v=SsoOG6ZeyUI
Reference Websites
https://github.com/outsideris/popularconvention
http://blog.takipi.com/tabs-vs-spaces-how-they-write-java-in-google-twitter-mozilla-and-pied-piper
http://www.businessinsider.com/google-silicon-valley-tabs-spaces-debate-2016-8