เครื่องมือแปลง 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.

เครื่องมือแปลงของเราทำงานอย่างไร?

เครื่องมือของเรานั้น “ฉลาด” ซึ่งหมายความว่าไม่ได้แค่แทนที่ช่องว่างอย่างไม่มีเหตุผล

  1. การตรวจจับคำ: อัลกอริทึมจะจดจำคำ ไม่ว่าจะเป็นคำที่คั่นด้วยช่องว่าง ahoj svete, เครื่องหมายขีดล่าง ahoj_svete, เครื่องหมายขีดกลาง ahoj-svete หรือการเปลี่ยนตัวพิมพ์ใหญ่ ahojSvete.
  2. การทำให้เป็นมาตรฐาน: แปลงทุกอย่างให้อยู่ในรูปแบบพื้นฐาน.
  3. การสร้าง: สร้างรูปแบบทั้งหมดพร้อมกัน.

สิ่งนี้มีประโยชน์ เช่น เมื่อทำการ 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) สิ่งสำคัญคือความสอดคล้องกัน