camelcase และ snakecase

 

camelAndsnake

    

     การเขียนโค้ดที่ดีนั้นควรเขียนให้เข้าใจง่าย และแบ่งเป็นส่วนๆเพื่อลดความซับซ้อน การเขียนโค้ดไม่มีกฏตายตัวเลย ว่าเราจะต้องใช้รูปแบบไหน สิ่งที่สำคัญที่สุดคือ เขียนโค้ดยังไงให้โปรแกรมมันทำงานได้ และการเขียนโปรแกรมนั้นไม่ใช่การทำงานคนเดียว เราต้องทำงานกับคนอื่น การเขียนโค้ดแบบมี Format จะทำให้คนที่ทำงานร่วมกับเราอ่านโค้ดได้ง่ายขึ้น

Camelcase

     การตั้งชื่อตัวแปรให้รูปร่างของตัวแปรมีส่วนเว้าส่วนโค้งคล้ายๆอูฐ ยกตัวอย่างเช่น เราจะสร้างตัวแปรสักตัวหนึ่งเพื่อมาเก็บเบอร์โทรศัพท์

     phoneNumber --> ถ้าเราใช้รูปแบบของ Camelcase จะได้หน้าตาแบบนี้ ภาษาของโปรแกรมส่วนใหญ่ไม่ให้ตั้งชื่อตัวแปรแบบมีช่องว่าง เราเลยต้องตั้งชื่อแบบติดกัน แต่ถ้าจะเขียนแบบ phonenumber มันก็จะอ่านยาก เขาเลยคิดกันว่าให้ตัวแรกของคำเป็นตัวใหญ่ (ยกเว้นตัวแรก) รูปร่างของมันจึงออกมาเหมือนอูฐ  แต่ถ้าตัวแปรนั้นเป็นชื่อของ Class จะยกเว้นให้ตัวหน้าเป็นตัวใหญ่ได้ เช้น PhoneNumber

     นอกจากการตั้งชื่อแล้ว การวางปีกกาก็ไม่เหมือนกับ Snakecase เช่น

function phoneNumber(){
    if(true){
        //code!!
    }
}

 

Snakeacase

     ต่อมาเป็นแบบ Snakecase เป็นรูปแบบงู สมมติถ้าเราจะสร้างตัวแปรเพื่อเอามาเก็บเบอร์โทรศัพท์ เราจะใช้แบบนี้ Variables

     phone_number --> ใช้เครื่องหมาย _  ในการคั่นแต่ละคำเอาไว้ วิธีนี้จะทำให้คำยาวขึ้นเล็กน้อย แต่ว่าแต่ละตัวโดยรวมแล้วจะมีความสูงเท่ากัน ส่วนถ้าตัวแปรตัวนั้นไม่ใช่ variable แต่เป็นชื่อคลาสเราจะตั้งให้ตัวแรกของทุกคำเป็นตัวใหญ่ เช่น Phone_Number

     ส่วนการวางปีกกาจะเป็นแบบนี้

function phone_number()
{
    if(true)
    {
        //code!
    }
}

   

 

ข้อมูลอ้างอิง : https://en.wikipedia.org/wiki/Camel_case

                    https://en.wikipedia.org/wiki/Snake_case

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
CSS will-change คืออะไร? ปรับปรุงประสิทธิภาพ Animation ให้ลื่นไหล
โดย Sakana อ 17 มิ.ย. 2025 5:16 pm บอร์ด HTML CSS
0
4
อ 17 มิ.ย. 2025 5:16 pm โดย Sakana View Topic CSS will-change คืออะไร? ปรับปรุงประสิทธิภาพ Animation ให้ลื่นไหล
แนะนำสถานที่ท่องเที่ยวจังหวัดนนทบุรี และการเดินทางจากเซ็นทรัลเวสต์เกต ไปท่าน้ำนนท์
โดย Sakana จ 16 มิ.ย. 2025 5:17 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
18
จ 16 มิ.ย. 2025 5:17 pm โดย Sakana View Topic แนะนำสถานที่ท่องเที่ยวจังหวัดนนทบุรี และการเดินทางจากเซ็นทรัลเวสต์เกต ไปท่าน้ำนนท์
ติดตั้ง n8n บนเครื่องตัวเอง โดยใช้ Ubuntu เป็น Server
โดย mindphp จ 16 มิ.ย. 2025 1:44 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
7
จ 16 มิ.ย. 2025 1:44 pm โดย mindphp View Topic ติดตั้ง n8n บนเครื่องตัวเอง โดยใช้ Ubuntu เป็น Server
แก้ปัญหาเข้าหน้า Control panel เพื่อจัดการตั้งค่า Network ภายในไม่ได้
โดย mindphp จ 16 มิ.ย. 2025 8:44 am บอร์ด Share Knowledge
0
16
จ 16 มิ.ย. 2025 8:44 am โดย mindphp View Topic แก้ปัญหาเข้าหน้า Control panel เพื่อจัดการตั้งค่า Network ภายในไม่ได้
อัพเดดคืบหน้า แนะนำ Feature - คู่มือ - vdo สอนใช้งาน
โดย mindphp ศ 06 มิ.ย. 2025 7:19 pm บอร์ด AsiaTest - Developer
0
1
ศ 06 มิ.ย. 2025 7:19 pm โดย mindphp View Topic อัพเดดคืบหน้า แนะนำ Feature - คู่มือ - vdo สอนใช้งาน
บันทึกประชุมกับทางลูกค้า สรุปความต้องการ
โดย mindphp ศ 06 มิ.ย. 2025 7:19 pm บอร์ด AsiaTest - Developer
0
1
ศ 06 มิ.ย. 2025 7:19 pm โดย mindphp View Topic บันทึกประชุมกับทางลูกค้า สรุปความต้องการ
สอบถาม Verification ของ google developer ติดขั้นตอน Homepage requirement
โดย eange08 พฤ 29 พฤษภาคม 2025 1:24 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
5141
พฤ 05 มิ.ย. 2025 1:51 pm โดย eange08 View Topic สอบถาม Verification ของ google developer ติดขั้นตอน Homepage requirement
ไข้หวัดใหญ่อาการหนักแค่ไหน ค่ารักษาเท่าไหร่
โดย Ellache จ 26 พฤษภาคม 2025 2:36 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
3931
จ 26 พฤษภาคม 2025 2:36 pm โดย Ellache View Topic ไข้หวัดใหญ่อาการหนักแค่ไหน ค่ารักษาเท่าไหร่