Sunday, May 24, 2026

bash — sudo.log — 80x24
e25yxn@sudo:~$ cat 002_naming_conventions.md
[ INFO ] หัวข้อ: Naming Convention หรือ "ข้อตกลงในการตั้งชื่อ"

สำหรับผู้เริ่มต้น (ตัวกระผมเอง ณ เวลานี้) การตั้งชื่อตัวแปรถือเป็นปัญหาใหญ่ส่วนหนึ่ง
- ตอนเขียนแรกๆ อยากจะตั้งให้เท่ๆ
- วันนั้นคิดว่าตัวเองตั้งชื่อตัวแปรไว้ซะเท่แล้ว
- เวลาผ่านไปกลับมาอ่านโค้ดที่ตัวเองเขียนไว้... จำไม่ได้ งงเอง (ฮา)

จนได้อ่านหนังสือ "เปิดซิงโค้ดดิ้งด้วยไพทอน ไม่ใช่เด็กคอมก็เก็ต"
(ผู้แต่ง: คุณจตุรพัชร์ พัฒนทรงศิวิไล)
พบเนื้อหาส่วนนี้ คิดว่าเป็นเรื่องสำคัญที่ต้องบันทึกไว้เพื่อเตือนความจำ

[ SYSTEM NOTE ]
เนื้อหาด้านล่างมีการขยายความและเพิ่มตัวอย่างเสริมจากต้นฉบับ โดยประมวลผลข้อมูลร่วมกับ Gemini AI
หากมีข้อผิดพลาดประการใด เกิดจากการเรียบเรียงของระบบ sudo.log เอง ไม่ได้มาจากหนังสือต้นฉบับครับ
นี่คือ 5 สไตล์การตั้งชื่อที่เป็นสากลครับ:


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

bash — sudo.log — 80x24 e25yxn@sudo : ~ $ tree python_data_types/ ...