เครื่องมือแปลง Case: CamelCase, Snake_case และรูปแบบอื่นๆ
การตั้งชื่อตัวแปรเป็นหนึ่งในสองสิ่งที่ยากที่สุดในการเขียนโปรแกรม (รองจากการทำให้แคชไม่ถูกต้อง) และเมื่อคุณคิดชื่อได้แล้ว คุณต้องเขียนให้ถูกต้อง เพราะแต่ละภาษาโปรแกรมมีกฎที่แตกต่างกันไป
Case Converter ของเราเป็นเหมือนมีดพับ Swiss Army Knife สำหรับการจัดรูปแบบข้อความ เพียงคุณพิมพ์ชื่อเพียงครั้งเดียว (ในรูปแบบใดก็ได้) เราจะ “แปลง” ให้คุณทันทีในรูปแบบไวยากรณ์ของภาษาโปรแกรมหลักทั้งหมด
ภาพรวมฉบับย่อ: ควรใช้ Case ใดเมื่อใด?
หากคุณสับสน นี่คือคู่มืออ้างอิงสำหรับมาตรฐานการตั้งชื่อ (Naming Conventions) ในปี 2025:
🐪 camelCase (รูปแบบอูฐ)
ขึ้นต้นด้วยตัวพิมพ์เล็ก และคำถัดไปแต่ละคำจะขึ้นต้นด้วยตัวพิมพ์ใหญ่ ไม่มีช่องว่าง
- ใช้ที่ไหน: JavaScript, Java, Swift, Kotlin, Go.
- ตัวอย่าง:
myVariableName,getElementById,iPhone.
🐍 snake_case (รูปแบบงู)
ตัวอักษรทั้งหมดเป็นตัวพิมพ์เล็กและคั่นด้วยเครื่องหมายขีดล่าง
- ใช้ที่ไหน: Python, Rust, PHP, ฐานข้อมูล SQL, ชื่อไฟล์.
- ตัวอย่าง:
user_id,first_name,def my_function().
🍢 kebab-case (รูปแบบเคบับ)
ตัวพิมพ์เล็กคั่นด้วยเครื่องหมายขีดกลาง ดูเหมือนเนื้อเสียบไม้
- ใช้ที่ไหน: คลาส CSS, แอตทริบิวต์ HTML, ที่อยู่ URL (slugs), Kubernetes.
- ตัวอย่าง:
font-size,my-cool-article,<div id="main-content">.
📐 PascalCase (UpperCamelCase)
คล้ายกับ camelCase แต่ ตัวอักษรแรกเป็นตัวพิมพ์ใหญ่
- ใช้ที่ไหน: ชื่อคลาส (Classes) ในภาษาโปรแกรมส่วนใหญ่ (JS, Python, PHP), C# (เมธอดและตัวแปร), คอมโพเนนต์ React.
- ตัวอย่าง:
UserProfile,AppController,ReactComponent.
📢 CONSTANT_CASE (Screaming Snake Case)
ตัวพิมพ์ใหญ่คั่นด้วยเครื่องหมายขีดล่าง ส่งเสียงบอกคุณว่าค่านี้ไม่ควรเปลี่ยนแปลง
- ใช้ที่ไหน: ค่าคงที่, ตัวแปรสภาพแวดล้อม, การกำหนดค่าทั่วโลก.
- ตัวอย่าง:
MAX_RETRIES,API_KEY,DB_PASSWORD.
เครื่องมือแปลงของเราทำงานอย่างไร?
เครื่องมือของเรานั้น “ฉลาด” ซึ่งหมายความว่าไม่ได้แค่แทนที่ช่องว่างอย่างไม่มีเหตุผล
- การตรวจจับคำ: อัลกอริทึมจะจดจำคำ ไม่ว่าจะเป็นคำที่คั่นด้วยช่องว่าง
ahoj svete, เครื่องหมายขีดล่างahoj_svete, เครื่องหมายขีดกลางahoj-sveteหรือการเปลี่ยนตัวพิมพ์ใหญ่ahojSvete. - การทำให้เป็นมาตรฐาน: แปลงทุกอย่างให้อยู่ในรูปแบบพื้นฐาน.
- การสร้าง: สร้างรูปแบบทั้งหมดพร้อมกัน.
สิ่งนี้มีประโยชน์ เช่น เมื่อทำการ refactoring โค้ด เมื่อคุณต้องการแปลงตัวแปร PHP เก่า ($user_id) ให้เป็น JavaScript สมัยใหม่ (userId) หรือสร้างคลาส CSS (user-id) จากชื่อคอลัมน์ในฐานข้อมูล
คำถามที่พบบ่อย (FAQ)
Hungarian notation คืออะไร?
เป็นวิธีการเขียนแบบเก่า (พบบ่อยใน C/C++ ในยุค 90) ที่ชื่อตัวแปรเริ่มต้นด้วยอักษรย่อของชนิดข้อมูล เช่นstrName (string) หรือ iCount (integer) ปัจจุบันไม่ค่อยนิยมใช้ในภาษาโปรแกรมสมัยใหม่ เนื่องจาก IDE แสดงชนิดข้อมูลให้เราโดยอัตโนมัติแล้ว
ฉันสามารถใช้ kebab-case ใน JavaScript ได้หรือไม่?
โดยตรงในฐานะชื่อตัวแปรไม่ได้ เพราะเครื่องหมายขีดกลาง- ใน JS ทำหน้าที่เป็นตัวดำเนินการลบ var my-variable จะหมายถึง "my ลบ variable" Kebab-case ใช้ใน JS เฉพาะเป็นคีย์ในออบเจกต์ หากอยู่ในเครื่องหมายคำพูด: { "content-type": "json" }
ควรใช้ case ใดสำหรับ JSON?
มาตรฐาน JSON ไม่ได้กำหนด case แต่ Google และ REST API ส่วนใหญ่ใช้ camelCase (เช่นcreatedAt) ในทางกลับกัน API รุ่นเก่าบางตัวและแบ็กเอนด์ Python คืนค่าเป็น snake_case (เช่น created_at) สิ่งสำคัญคือความสอดคล้องกัน