code indentation : tab vs space

วันนี้จั่วหัวเป็นภาษาอังกฤษ เพราะถ้าใส่ภาษาไทย มันคงมีอยู่ไม่กี่คำหรอกครับ

Code indentation ก็คือการใส่ที่ว่างหน้าแต่ละบรรทัดของโค้ด เพื่อที่จะระบุว่าโค๊ดปัจจุบันอยู่ในสโคประดับไหน บนคีย์บอร์ดเราจะสามารถใส่ที่ว่างได้สองวิธี นั่นคือการใช้ space bar กับการใช้ tab

ผมคิดว่าทุกคนคงรู้นะว่าปุ่มไหนอยู่ตรงไหน

เรื่อง space กับ tab นี่ถือได้ว่า เป็นเรื่องที่ทำให้คนทะเลาะกันได้ เวลาที่จะกำหนด coding standard หรือทำ code review เพราะทั้งสองอย่างก็มีข้อดีของมันเอง

ส่วนตัวคิดว่า จะใช้แบบไหนก็ใช้ไปเถอะ ที่สำคัญกว่าก็คือต้องใช้เหมือนกันหมดทุกคน และใช้อย่างสม่ำเสมอ ไม่เช่นนั้นมันก็จะเกิดปัญหาหลายอย่างขึ้นมาเหมือนกัน

แต่ถ้าให้เลือกว่าเอาแบบไหน ผมเลือกใช้ space นะ

คืองี้ครับ ในโปรแกรมแต่ละโปรแกรม จะแสดงผล tab ไม่เหมือนกัน บางโปรแกรมก็ 3 space มั่งล่ะ 4 space มั่งล่ะ (8 space ยังไม่แปลกเลย) แถมยังเปลี่ยนได้ด้วย ดังนั้นเวลาเปิดบนแต่ละโปรแกรมโค๊ดจะแสดงผลไม่เหมือนกัน

และในกรณีที่แย่ที่สุดคือถ้ามีคนเอา space กับ tab ไปใช้ปนกันในโค๊ดเดียว ในทุก ๆ whitespace บนโค๊ด เราจะเห็นโค๊ดที่ไม่ตรงกันในโปรแกรมหนึ่ง และดูสวยในอีกโปรแกรมหนึ่ง

ในทางกลับกัน space นั้นแสดงผลเหมือนกันหมดทุกเครื่อง ไม่ว่ามันจะอยู่ที่ไหน ไม่ว่าจะอยู่บนแพลตฟอร์มไหน ดังนั้น space จึงเป็นคำตอบที่ดีกว่า เพราะว่ามันมีความสม่ำเสมอ (consistency) ที่ดีกว่า tab นั่นเอง

แต่พิมพ์เยอะแล้วอาจจะเมื่อย ก็มีเคล็ดนิดหน่อยครับ คือ ใน Text Editor ส่วนใหญ่สามารถแทนที่ tab ด้วย space ได้ คือเวลากด tab แทนที่จะได้ tab เราก็จะได้ space จำนวนหนึ่งแทน

ไม่ยากกันเกินไปใช่ไหมครับ 🙂

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.