Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 2063

ว่าด้วยเรื่อง Tab กับ Space ในการเขียน code !!

$
0
0

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 ในแต่ละภาษากัน tabs-spaces

มาดูรายละเอียดสำหรับภาษา Java กัน

เรื่องของ Space vs. Tab จะอยู่ที่ 66% ต่อ 33% แสดงดังรูป code-01 ต่อมาเรื่องของ block statement ว่าด้วยเครื่องหมายปีกกาเปิดนั่นเอง
  • 58% อยู่ในบรรทัดเดียวกัน คั่นด้วย space เดียว
  • 37% อยู่ในบรรทัดใหม่
  • 5% อยู่ในบรรทัดเดียวกันแต่ไม่มี space คั่น
code-02 ต่อมาเรื่องความยาวต่อบรรทัด code-03 การตั้งชื่อต้องมี prefix หรือไม่ ส่วนใหญ่ไม่มีนะ code-04
  ดังนั้นลองกลับมาถามตัวเราสิว่า รูปแบบของทีมเราเป็นอย่างไร ? ได้ทำการพูดคุยตกลงร่วมกันหรือไม่ ? อย่างไร ?
สุดท้ายสำหรับชาว 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

Viewing all articles
Browse latest Browse all 2063

Trending Articles