कैमलकेस बनाम स्नेक_केस बनाम कबाब-केस: किसका उपयोग करें
जावास्क्रिप्ट के लिए कैमलकेस, पायथन और डेटाबेस के लिए स्नेक_केस, सीएसएस और यूआरएल के लिए कबाब-केस। प्रत्येक नामकरण परंपरा कहाँ से संबंधित है और निःशुल्क
प्रकाशित: · 6 मिनट में पढ़ें
कैमलकेस बनाम स्नेक_केस बनाम कबाब-केस ज्यादातर यह सवाल है कि नाम कहां रहता है। जावास्क्रिप्ट और जावा कैमलकेस (firstName) का उपयोग करते हैं, पायथन, रूबी और SQL स्नेक_केस (first_name) का उपयोग करते हैं, और सीएसएस, HTML विशेषताएँ और URL कबाब-केस (first-name) का उपयोग करते हैं। भाषा की परंपरा और अपनी टीम की शैली मार्गदर्शिका का पालन करें। केस के बीच टेक्स्ट को स्विच करने के लिए, फ्री केस कनवर्टरऔर फ्री यूआरएल स्लग जनरेटरआपके ब्राउज़र के अधिकांश काम को कवर करते हैं।
कैमलकेस बनाम स्नेक_केस बनाम कबाब-केस एक नज़र में
| शैली | उदाहरण | आप इसे कहां देखेंगे |
|---|---|---|
| कैमलकेस | userFirstName |
जावास्क्रिप्ट और टाइपस्क्रिप्ट वेरिएबल और फ़ंक्शन, जावा विधियां, कई वेब एपीआई से JSON |
| पास्कलकेस | UserFirstName |
अधिकांश भाषाओं में कक्षा के नाम, रिएक्ट घटक, सी# विधियाँ |
| साँप का मामला | user_first_name |
पायथन वेरिएबल्स और फ़ंक्शंस, रूबी, SQL कॉलम नाम, कई JSON API |
| SCREAMING_SNAKE_CASE | USER_FIRST_NAME |
कई भाषाओं में स्थिरांक, पर्यावरण चर |
| कबाब-केस | user-first-name |
सीएसएस गुण और वर्ग नाम, HTML विशेषताएँ, यूआरएल, फ़ाइल नाम, सीएलआई झंडे |
नाम आकृतियों से आते हैं: कैमलकेस में बड़े अक्षरों का कूबड़ है, स्नेक_केस अंडरस्कोर पर सपाट है, और कबाब-केस शब्द हाइफ़न पर तिरछे हैं।

भाषा दर भाषा
जावास्क्रिप्ट और टाइपस्क्रिप्ट। वेरिएबल और फ़ंक्शन कैमलकेस (getUserName) हैं, क्लास और रिएक्ट घटक पास्कलकेस (UserCard) हैं, और स्थिरांक अक्सर SCREAMING_SNAKE_CASE (MAX_RETRIES) होते हैं। भाषा के अपने बिल्ट-इन इसका अनुसरण करते हैं, जैसेgetElementByIdऔरtoLowerCase।
पायथन। पीईपी 8, पायथन की शैली मार्गदर्शिका, फ़ंक्शंस, वेरिएबल्स और मॉड्यूल नामों के लिए स्नेक_केस, कक्षाओं के लिए कैपवर्ड्स (पास्कलकेस) और स्थिरांक के लिए अंडरस्कोर के साथ अपर केस का उपयोग करती है। Python मेंgetUserNameलिखना काम करता है, लेकिन इसे पढ़ने वाले प्रत्येक Python डेवलपर के लिए यह अनुचित लगेगा।
सीएसएस और एचटीएमएल। सीएसएस गुण कबाब-केस (background-color,font-size) हैं, और अधिकांश वर्ग-नामकरण सिस्टम सूट का पालन करते हैं (.nav-item,.card-title)। HTMLdata-विशेषताएँ कबाब-केस भी हैं, और ब्राउज़र उन्हें जावास्क्रिप्ट के लिए परिवर्तित करते हैं:data-user-id``element.dataset.userIdबन जाता है। वह एक पंक्ति इस बात का स्पष्ट सारांश है कि दोनों सम्मेलन क्यों मौजूद हैं।
एसक्यूएल और डेटाबेस। कॉलम और टेबल के नाम आमतौर पर स्नेक_केस (created_at,order_items) होते हैं। कई डेटाबेस बिना उद्धृत नामों को एक मामले में जोड़ देते हैं, इसलिएcreatedAtचुपचापcreatedatबन सकता है जब तक कि आप इसे हर बार उद्धृत न करें। साँप_केस उससे बचता है।यूआरएल और फ़ाइल नाम। कबाब-केस का उपयोग करें। Google का URL संरचना मार्गदर्शन शब्दों को अलग करने के लिए अंडरस्कोर के बजाय हाइफ़न की अनुशंसा करता है, क्योंकि हाइफ़न स्पष्ट रूप से शब्द सीमाओं को चिह्नित करते हैं। लोअरकेस सर्वर पर टूटे हुए लिंक से भी बचाता है जोAbout.htmlऔरabout.htmlको अलग-अलग फ़ाइलों के रूप में मानते हैं। देखें यूआरएल स्लग क्या हैऔर हमारा यूआरएल स्लग सर्वोत्तम अभ्यास।
JSON और API. कोई एक नियम नहीं है। कई जावास्क्रिप्ट-केंद्रित एपीआई कैमलकेस का उपयोग करते हैं और कई पायथन या रूबी बैकएंड स्नेक_केस का उपयोग करते हैं। प्रति एपीआई एक चुनें और उन्हें कभी भी एक ही प्रतिक्रिया में न मिलाएं।
कौन सा पढ़ना सबसे आसान है?
एक बार जब आप इनके अभ्यस्त हो जाएं तो ये तीनों पढ़ने योग्य हो जाते हैं। कुछ व्यावहारिक अंतर:
- स्नेक_केस और कबाब-केस शब्दों के बीच स्पष्ट अंतर रखें, जो लंबे नामों और संक्षिप्त शब्दों (
html_parserबनामhtmlParserबनामHTMLParser) में मदद करता है। - कैमलकेस छोटा है और इसमें अतिरिक्त वर्णों की आवश्यकता नहीं है।
- कबाब-केस का उपयोग अधिकांश भाषाओं में परिवर्तनीय नामों के लिए नहीं किया जा सकता है, क्योंकि
user-nameकोuser minus nameके रूप में पढ़ा जाता है। - डबल-क्लिक अधिकांश संपादकों में संपूर्ण स्नेक_केस या कैमलकेस नाम का चयन करता है, लेकिन आमतौर पर कबाब-केस में हाइफ़न पर रुक जाता है।
वास्तविक नियम निरंतरता है. एक फ़ाइल जोuserName,user_nameऔरUserNameको मिश्रित करती है, हर जगह उपयोग की जाने वाली किसी एक शैली की तुलना में पढ़ना कठिन है।
मामलों के बीच परिवर्तन
परतों के बीच डेटा ले जाते समय आपको कनवर्ट करने की आवश्यकता होगी: एक पायथन एपीआई काcreated_atएक जावास्क्रिप्टcreatedAtबन जाता है, एक पेज का शीर्षक एक यूआरएल बन जाता है, या एक सेटिंग नाम एक पर्यावरण चर बन जाता है।
**कबाब-केस या स्नेक_केस के लिए: स्लग जनरेटर का उपयोग करें। ** शब्दों को चिपकाएँ, प्रति पंक्ति एक नाम, और कबाब-केस के लिए हाइफ़न (-) या स्नेक_केस के लिए अंडरस्कोर (_) चुनें। यह हर चीज़ को छोटा कर देता है, उच्चारण को सादे अक्षरों में बदल देता है और प्रतीकों को हटा देता है। यह किसी भी प्रतीक को शब्द विराम के रूप में मानता है, इसलिएuser_first_name``user-first-nameबन जाता है और फिर से वापस आ जाता है। हालाँकि, यह कैमलकेस को विभाजित नहीं करता है:userFirstName``userfirstnameके रूप में सामने आता है। पहले शब्दों के बीच रिक्त स्थान रखें।
SCREAMING_SNAKE_CASE के लिए। स्लग जनरेटर में स्नेक_केस संस्करण बनाएं, फिर इसे फ्री केस कन्वर्टरमें पेस्ट करें और अपरकेस पर क्लिक करें। दूसरी ओर जाने पर, लोअरकेसMAX_RETRIESकोmax_retriesमें बदल देता है।
कैमलकेस या पास्कलकेस के लिए। इसमें एक-क्लिक बटन नहीं है। सबसे तेज़ मार्ग: रिक्त स्थान के साथ शब्द टाइप करें, केस कनवर्टर में कैपिटलाइज़्ड केस पर क्लिक करें (user first name``User First Nameबन जाता है), फिर पास्कलकेस के लिए रिक्त स्थान हटाएं और कैमलकेस के लिए पहला अक्षर छोटा करें।एक साथ कई नाम, कोड के अंदर। बड़े नाम के लिए, नियमित अभिव्यक्ति के साथ अपने संपादक की खोज-और-प्रतिस्थापन का उपयोग करें। पहले फ्री रेगेक्स टेस्टरमें पैटर्न का परीक्षण करें: उदाहरण के लिए,_([a-z])प्रत्येक अंडरस्कोर को एक अक्षर के बाद ढूंढता है, वह स्थान जहां स्नेक_केस को कैमलकेस में एक बड़े अक्षर की आवश्यकता होगी। कई संपादक प्रतिस्थापन में कैप्चर किए गए पत्र को अपर-केस में रख सकते हैं; सिंटैक्स के लिए अपने संपादक के दस्तावेज़ की जाँच करें।
परिवर्तित करते समय ध्यान देने योग्य बातें
- संक्षिप्त शब्द। तय करें कि यह
userIdहै याuserID,HtmlParserयाHTMLParser, और इसके साथ बने रहें। - संख्याएँ।
address_line_2साफ़-साफ़ परिवर्तित होता है;addressLine2ठीक है; बस अंक मत गिराओ. - सार्वजनिक नाम। JSON फ़ील्ड या URL का नाम बदलने से इसका उपयोग करने वाले को नुकसान होता है। यूआरएल के लिए रीडायरेक्ट जोड़ें और एपीआई में पुराने फ़ील्ड नामों को कुछ समय के लिए काम पर रखें।
अपना टेक्स्ट परिवर्तित करें
अपरकेस, लोअरकेस और कैपिटलाइज्ड केस के लिए फ्री केस कन्वर्टरऔर कबाब-केस और स्नेक_केस के लिए स्लग जनरेटर का उपयोग करें। दोनों आपके ब्राउज़र में चलते हैं, और आपके द्वारा पेस्ट किया गया कुछ भी आपके डिवाइस को नहीं छोड़ता है।
अक्सर पूछे जाने वाले सवाल
- कैमलकेस और स्नेक_केस में क्या अंतर है?
- CamelCase शब्दों को जोड़ता है और प्रत्येक को पहले (
firstName) के बाद बड़े अक्षरों में लिखता है। स्नेक_केस शब्दों को लोअरकेस रखता है और उन्हें अंडरस्कोर (first_name) के साथ जोड़ता है। - क्या मुझे JSON में कैमलकेस या स्नेक_केस का उपयोग करना चाहिए?
- या तो ठीक है. आपके अधिकांश ग्राहक जिस भाषा का उपयोग करते हैं उसका मिलान करें और एपीआई के भीतर सुसंगत रहें।
- सीएसएस कबाब-केस का उपयोग क्यों करता है?
- CSS को
font-sizeजैसे हाइफ़नेटेड प्रॉपर्टी नामों के साथ डिज़ाइन किया गया था, और क्लास नाम आमतौर पर उसी शैली का पालन करते हैं। अधिकांश प्रोग्रामिंग-भाषा वैरिएबल नामों में हाइफ़न का उपयोग नहीं किया जा सकता है, यही कारण है कि जावास्क्रिप्ट समान गुणों के लिए कैमलकेस का उपयोग करता है। - क्या कबाब-केस यूआरएल के लिए अच्छा है?
- हाँ। Google URL में शब्दों को अलग करने के लिए हाइफ़न की अनुशंसा करता है, और लोअरकेस केस-संवेदनशीलता समस्याओं से बचाता है।
- क्या केस कनवर्टर कैमलकेस बना सकता है?
- एक क्लिक में नहीं. बड़े अक्षर वाले केस का उपयोग करें, फिर रिक्त स्थान हटा दें और पहले अक्षर को छोटा करें। कबाब-केस और स्नेक_केस के लिए, यूआरएल स्लग जनरेटर का उपयोग करें।
टेक्स्ट टूल्स
केस कन्वर्टर आज़माएँ
मुफ़्त, बिना साइन-अप, आपके ब्राउज़र में चलता है। टेक्स्ट पेस्ट करें और एक क्लिक में उसे UPPERCASE, lowercase, Sentence case, Title Case या Capitalized Case में बदलें, फिर कॉपी करें।
ये भी काम के हैं
- URL स्लग जनरेटरकिसी टाइटल या किसी भी टेक्स्ट को "my-first-blog-post" जैसे साफ़, छोटे अक्षरों वाले URL स्लग में बदलें। एक्सेंट बदल दिए जाते हैं (café बन जाता है cafe), सिंबल हटा दिए जाते हैं, और आप छोटे शब्द हटा सकते हैं, अधिकतम लंबाई तय कर सकते हैं या एक साथ टाइटलों की पूरी सूची के लिए स्लग बना सकते हैं।
- Regex टेस्टरकिसी रेगुलर एक्सप्रेशन को अपने टेक्स्ट पर टेस्ट करें और टाइप करते-करते हर मैच हाइलाइट होते देखें, साथ में कैप्चर ग्रुप (नाम वाले भी) की टेबल और लाइव फ़ाइंड-एंड-रिप्लेस प्रीव्यू भी। यह JavaScript regex के नियमों पर चलता है, और बहुत देर चलने वाला पैटर्न पेज को फ़्रीज़ करने के बजाय रोक दिया जाता है।