सभी लेख

camelCase, snake_case, kebab-case: कब कौन-सी शैली इस्तेमाल करें

देवनागरी में बड़े और छोटे अक्षर (uppercase/lowercase) का कोई अस्तित्व ही नहीं है — यह भेद मूल रूप से लैटिन, सिरिलिक और ग्रीक जैसी लिपियों की खासियत है। इसलिए जब कोई हिंदी भाषी डेवलपर वैरिएबल नाम रखता है, तो वह देवनागरी में नहीं बल्कि लैटिन लिपि में लिखे अंग्रेज़ी या हिंग्लिश शब्दों (जैसे naamPata) पर ही camelCase जैसी शैलियाँ लागू करता है — केस कन्वर्टर देवनागरी टेक्स्ट पर काम ही नहीं कर सकता, क्योंकि वहाँ बदलने के लिए कोई केस मौजूद नहीं।

मुख्य शैलियाँ

  • camelCase — पहला शब्द लोअरकेस में, हर अगला शब्द अपरकेस अक्षर से शुरू, बिना किसी सेपरेटर के: userName। JavaScript, Java, C# में वैरिएबल और फ़ंक्शन के लिए मानक।
  • PascalCase — वही, लेकिन पहला शब्द भी अपरकेस से शुरू: UserName। लगभग हर जगह क्लास और कंपोनेंट के लिए इस्तेमाल होता है।
  • snake_case — शब्द अंडरस्कोर से जुड़े, सब लोअरकेस में: user_name। Python और डेटाबेस कॉलम नामों में मानक।
  • kebab-case — शब्द हाइफ़न से जुड़े: user-name। URL, CSS क्लास और HTML एट्रिब्यूट के लिए मानक, क्योंकि URL में अंडरस्कोर कम आम है।

यह सिर्फ़ सौंदर्यशास्त्र क्यों नहीं है

चूँकि केस-आधारित नामकरण एक लैटिन-लिपि की परंपरा है, भारतीय डेवलपर टीमों में यह सवाल अक्सर उठता है कि यूज़र-फ़ेसिंग लेबल हिंदी में हों तो उनका कोई "केस स्टाइल" नहीं होता — सिर्फ़ कोड के भीतर के पहचानकर्ता (identifiers) पर ये नियम लागू होते हैं, चाहे उनके पीछे का अर्थ किसी भी भाषा से क्यों न आया हो।

यह कन्वर्ज़न किस काम आता है

  • JSON API फ़ील्ड (आमतौर पर camelCase) को डेटाबेस कॉलम नामों (आमतौर पर snake_case) से मैप करना।
  • कोड को अलग-अलग परंपराओं वाली एक भाषा से दूसरी में ले जाते समय वैरिएबल का नाम बदलना।
  • किसी अंग्रेज़ी या हिंग्लिश टाइटल टेक्स्ट से URL-अनुकूल या CSS क्लास-अनुकूल नाम बनाना।

संक्षिप्त रूपों (abbreviations) के साथ अस्पष्टता

userID या XMLParser जैसा पहचानकर्ता कन्वर्टर को एक चुनाव के सामने खड़ा करता है: संक्षिप्त रूप को एक "शब्द" माना जाए या अलग-अलग अक्षरों में तोड़ा जाए। अलग-अलग टूल इसे अलग तरीके से हल करते हैं — यह कन्वर्टर बड़े अक्षरों की लगातार सीक्वेंस को एक अलग शब्द के रूप में पहचानता है (XMLParserXML + Parser), लेकिन अगर नाम सीधे प्रोडक्शन कोड में जाने वाला है, तो नतीजे को मैन्युअली जाँच लेना बेहतर है।

टूल आज़माएँ