มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)
หัวข้อนี้อาจทำให้หลายคนสงสัยว่า ผมเขียนขึ้นมาทำไม หลายๆคนที่ได้เรียนวิชา Programming ต่างๆก็คงถูกสอนกันมาอยู่แล้วว่า การตั้งชื่อตัวแปรต้องให้สื่อความหมาย ไม่ใช่สักแต่ว่า a,b,c; หรือ x,y,z เพราะมันจะทำให้คนที่จะมาเขียนโปรแกรมต่อจากเราทำได้ยาก ถ้าเป็นโปรแกรมเล็กๆก็พอรับได้ แต่ถ้าเป็นงานใหญ่ๆ ก็ควรลด-ละ-เลิกได้แล้วครับ
แต่มันยังไม่หมดแค่นั้น นอกจากจะตั้งชื่อให้สื่อความหมายแล้ว ควรสังเกตลักษณะไวยากรณ์ (Syntax) ของแต่ละภาษาด้วยว่าเค้าเขียนกันอย่างไร หรือตัวอย่างตาม internet เค้าเขียนกันอย่างไร ซึ่งล้วนแต่มีที่มาที่ไปมาจากข้อตกลงร่วมกันในแต่ละภาษา หรือ เรียกว่า "Naming Convention" ซึ่งจะทำให้ชื่อแต่ละชื่อนั้น สามารถบ่งบอกความหมายได้เบื้องต้น เป็นผลดีต่อโปรแกรมเมอร์อย่างมากครับ
ตัวอย่างการตั้งชื่อตัวแปรแบบ Hungarian Notation :
ภาษาที่นิยมใช้ : C, C++
ตัวอย่างการตั้งชื่อตัวแปรแบบ Camel Case :
ภาษาที่นิยมใช้ : Java
ตัวอย่างการตั้งชื่อตัวแปรแบบ Pascal Case :
ภาษาที่นิยมใช้ : C#, .NET
ตัวอย่างการตั้งชื่อตัวแปรแบบ Underscores :
ภาษาที่นิยมใช้ : SQL, PHP
ตัวอย่างการตั้งชื่อตัวแปรแบบ Upper Case :
ภาษาที่นิยมใช้ :
แหล่งข้อมูล :
http://www.unzeen.com/article/1342/ว่าด้วยมาตรฐานในการตั้งชื่อตัวแปร
thaioop.wordpress.com/2006/12/07/ตอน-17-หลักการตั้งชื่อในภ/
http://en.wikipedia.org/wiki/CamelCase
http://en.wikipedia.org/wiki/Hungarian_notation
http://c2.com/cgi/wiki?CamelCase
http://www.tizag.com/phpT/variable.php
แต่มันยังไม่หมดแค่นั้น นอกจากจะตั้งชื่อให้สื่อความหมายแล้ว ควรสังเกตลักษณะไวยากรณ์ (Syntax) ของแต่ละภาษาด้วยว่าเค้าเขียนกันอย่างไร หรือตัวอย่างตาม internet เค้าเขียนกันอย่างไร ซึ่งล้วนแต่มีที่มาที่ไปมาจากข้อตกลงร่วมกันในแต่ละภาษา หรือ เรียกว่า "Naming Convention" ซึ่งจะทำให้ชื่อแต่ละชื่อนั้น สามารถบ่งบอกความหมายได้เบื้องต้น เป็นผลดีต่อโปรแกรมเมอร์อย่างมากครับ
Hungarian Notation
จะใช้ตัวย่อของชนิดตัวแปรขึ้นต้น โดยจะใช้ตัวอักษรตัวพิมพ์เล็กทั้งหมด ซึ่งตัวย่อจะถูกกำหนดไว้เป็นมาตรฐานเดียวกัน ทำให้การตั้งชื่อตัวแปรแบบ Hungarian Notation จะทำให้ Programmer อ่านโปรแกรมได้ง่ายขึ้น จากนั้นคำต่อๆไปตัวอักษรตัวแรกของคำจะเป็นตัวใหญ่ตัวอย่างการตั้งชื่อตัวแปรแบบ Hungarian Notation :
strName
, iValue
ภาษาที่นิยมใช้ : C, C++
Camel Case (Lower Camel Case)
เป็นการตั้งชื่อโดยกำหนดให้คำแรกเป็นตัวอักษรตัวเล็กทั้งหมด แต่ไม่ได้ใช้อักษรย่อ การตั้งชื่อแบบ Camel Case จะเป็นคำต่อกันทั้งหมด ซึ่งตัวอักษรตัวแรกของคำที่ 2 ขึ้นไป จะเป็นตัวใหญ่ (คำที่ 2 ขึ้นไปเหมือน Hungarian Notation)ตัวอย่างการตั้งชื่อตัวแปรแบบ Camel Case :
productPrice
, summaryResult
ภาษาที่นิยมใช้ : Java
Pascal Case (Upper Camel Case)
การตั้งชื่อลักษณะนี้ ต่างจาก Camel Case ตรงที่จะใช้ตัวอักษรตัวแรกของทุกคำเป็นตัวใหญ่ทั้งหมด (ตัวแรกด้วย)ตัวอย่างการตั้งชื่อตัวแปรแบบ Pascal Case :
FirstName
, LastName
ภาษาที่นิยมใช้ : C#, .NET
Snake Case
แทนที่จะแบ่งคำด้วยตัวอักษรตัวเล็กตัวใหญ่ (case sensitive) การตั้งชื่อแบบนี้จะใช้ _ (Underscore) แทน แต่การตั้งชื่อแบบนี้จะทำให้ชื่อตัวแปรยาวไปหน่อยครับตัวอย่างการตั้งชื่อตัวแปรแบบ Underscores :
my_variable
ภาษาที่นิยมใช้ : SQL, PHP
Upper Case
เป็นการตั้งชื่อโดยใช้ตัวอักษรตัวใหญ่ทั้งหมด ซึ่งมักจะใช้ตัวอักษรย่อ หากเขียนเป็น Upper Case แบบหลายๆคำแบบ Camel Case หรือ Pascal Case จะทำให้เกะกะตาเป็นอย่างมากตัวอย่างการตั้งชื่อตัวแปรแบบ Upper Case :
ID
, PI
ภาษาที่นิยมใช้ :
แหล่งข้อมูล :
http://www.unzeen.com/article/1342/ว่าด้วยมาตรฐานในการตั้งชื่อตัวแปร
thaioop.wordpress.com/2006/12/07/ตอน-17-หลักการตั้งชื่อในภ/
http://en.wikipedia.org/wiki/CamelCase
http://en.wikipedia.org/wiki/Hungarian_notation
http://c2.com/cgi/wiki?CamelCase
http://www.tizag.com/phpT/variable.php