bash — sudo.log — 80x24
e25yxn@sudo:~$
cat 002_naming_conventions.md
[ INFO ]
หัวข้อ: Naming Convention หรือ "ข้อตกลงในการตั้งชื่อ"
สำหรับผู้เริ่มต้น (ตัวกระผมเอง ณ เวลานี้) การตั้งชื่อตัวแปรถือเป็นปัญหาใหญ่ส่วนหนึ่ง
- ตอนเขียนแรกๆ อยากจะตั้งให้เท่ๆ
- วันนั้นคิดว่าตัวเองตั้งชื่อตัวแปรไว้ซะเท่แล้ว
- เวลาผ่านไปกลับมาอ่านโค้ดที่ตัวเองเขียนไว้... จำไม่ได้ งงเอง (ฮา)
จนได้อ่านหนังสือ "เปิดซิงโค้ดดิ้งด้วยไพทอน ไม่ใช่เด็กคอมก็เก็ต"
(ผู้แต่ง: คุณจตุรพัชร์ พัฒนทรงศิวิไล)
พบเนื้อหาส่วนนี้ คิดว่าเป็นเรื่องสำคัญที่ต้องบันทึกไว้เพื่อเตือนความจำ
[ SYSTEM NOTE ]
เนื้อหาด้านล่างมีการขยายความและเพิ่มตัวอย่างเสริมจากต้นฉบับ โดยประมวลผลข้อมูลร่วมกับ Gemini AI
หากมีข้อผิดพลาดประการใด เกิดจากการเรียบเรียงของระบบ sudo.log เอง ไม่ได้มาจากหนังสือต้นฉบับครับ
นี่คือ 5 สไตล์การตั้งชื่อที่เป็นสากลครับ:
เนื้อหาด้านล่างมีการขยายความและเพิ่มตัวอย่างเสริมจากต้นฉบับ โดยประมวลผลข้อมูลร่วมกับ Gemini AI
หากมีข้อผิดพลาดประการใด เกิดจากการเรียบเรียงของระบบ sudo.log เอง ไม่ได้มาจากหนังสือต้นฉบับครับ
1. camelCase (อูฐผยอง)
กฎ: คำแรกพิมพ์เล็กทั้งหมด คำถัดไปขึ้นต้นด้วยตัวพิมพ์ใหญ่ (เหมือนโหนกอูฐ) ไม่มีย่อคำ
ตัวอย่าง: arrayColor, pierAxisDeviation, newProductPrice
นิยมใช้: JavaScript, Dart/Flutter, Java
2. PascalCase (พาสคาลหน้าใหญ่)
กฎ: อักษรแรกของทุกคำต้องเป็นตัวพิมพ์ใหญ่เสมอ (เหมือน camelCase แต่เริ่มด้วยตัวใหญ่)
ตัวอย่าง: ArrayColor, PierAxisDeviation, NewProductPrice
นิยมใช้: การตั้งชื่อ Class ในเกือบทุกภาษา (รวมถึง Python และ Dart)
3. snake_case (งูเลื้อย)
กฎ: ใช้ตัวพิมพ์เล็กทั้งหมด และคั่นคำด้วยเครื่องหมายขีดเส้นใต้ (_) underscore
ตัวอย่าง: array_color, pier_axis_deviation, new_product_price
นิยมใช้: Python (เกือบทั้งหมด ทั้งชื่อตัวแปร ฟังก์ชัน และโมดูล)
4. UPPER_SNAKE_CASE (งูกรีดร้อง - SCREAMING_SNAKE_CASE)
กฎ: ใช้ตัวพิมพ์ใหญ่ทั้งหมด และคั่นคำด้วยเครื่องหมายขีดเส้นใต้ (_)
ตัวอย่าง: ARRAY_COLOR, MAX_ERROR, START_PITCH_ANGLE
นิยมใช้: การตั้งชื่อตัวแปรคงที่ (Constants) ที่ค่าจะไม่เปลี่ยนตลอดทั้งโปรแกรม
5. hungarianNotation (ยุคโบราณ)
กฎ: ขึ้นต้นด้วยตัวย่อ 1-3 ตัวเพื่อบอก "ชนิดข้อมูล" แล้วตามด้วยชื่อคำหลักที่เป็นตัวใหญ่
ตัวอย่าง: arrColor (อาร์เรย์), strName (ข้อความ), fPrice (เลขทศนิยม float)
[Note]: ยุคนี้ไม่ค่อยนิยมแล้ว เพราะ IDE สมัยใหม่แค่เอาเมาส์ชี้ก็บอกประเภทข้อมูลได้ แต่รู้ไว้เผื่อไปเจอใน Legacy Code
[ SUMMARY ] ตารางสรุปการใช้งาน
+---------------------+------------------+-----------------------------+ | สิ่งที่จะตั้งชื่อ | สไตล์ที่ต้องใช้ | ตัวอย่าง | +---------------------+------------------+-----------------------------+ | ตัวแปรทั่วไป | snake_case | array_color, summary_value | | คลาส (Classes) | PascalCase | ArrayColor, SummaryValue | | ค่าคงที่ (Constants) | UPPER_SNAKE_CASE | PI, MAX_ALLOWABLE_ERROR | +---------------------+------------------+-----------------------------+
e25yxn@sudo:~$
No comments:
Post a Comment