हिन्दी

टेक्स्ट और रोजमर्रा के टूल · टेक्स्ट टूलकिट

कैमलकेस, स्नेक_केस, कबाब-केस और पास्कलकेस: जहां प्रत्येक का उपयोग किया जाता है

· पेजभूमि

केस-रूपांतरण पहचानकर्ता डेवलपर-वर्कफ़्लो

ऊँट, पास्कल, साँप और कबाब मामले में लिखा गया एक प्रोफ़ाइल पहचानकर्ता
मूल ToolAcre वेक्टर चित्रण

नामकरण परंपराओं का दौरा - वे कहां से आए, कौन सी भाषाएं और पारिस्थितिकी तंत्र किसकी अपेक्षा करते हैं, और क्यों फ़ाइल नाम, URL, डेटाबेस कॉलम और JSON कुंजी प्रत्येक एक अलग दिशा में खींचती हैं।

एक ही चीज़ के पाँच नाम - userProfileId, user_profile_id, user-profile-id, UserProfileId और USER_PROFILE_ID

वाक्यांश "उपयोगकर्ता प्रोफ़ाइल ID" अपने शब्दों को बदले बिना `userProfileId`, `UserProfileId`, `user_profile_id`, या `user-profile-id` बन सकता है। दृश्यमान अंतर यह है कि सीमाएँ कहाँ दिखाई देती हैं और क्या पहला शब्द बड़े अक्षर से शुरू होता है। ToolAcre उन चार रूपों को सीधे एक ही इनपुट से उत्पन्न करता है, जिससे उनके संरचनात्मक अंतरों की तुलना करना आसान हो जाता है।

एक ऑल-अपरकेस `USER_PROFILE_ID` एक अन्य उपयोगी प्रोजेक्ट कन्वेंशन है, लेकिन यह केस कन्वर्टर स्रोत में एक अलग संयुक्त विकल्प नहीं है। टूलकिट स्नेक केस और अपरकेस परिवर्तनों को स्वतंत्र रूप से उजागर करता है। यदि कोई कोडबेस अपरकेस स्थिरांक का उपयोग करता है, तो इसे स्नेक केस में कन्वर्ट करें और फिर यह दावा करने के बजाय इसे अपरकेस करें कि केस मेनू दोनों चरणों को एक साथ निष्पादित करता है।

टेक्स्ट टूलकिट द्वारा प्रदर्शित चार रूपांतरण, साथ ही एक अपरकेस स्थिरांक फॉर्म अलग से इकट्ठा किया गया

`camelCase` छोटे अक्षर से शुरू होता है और प्रत्येक अगले शब्द की शुरुआत बड़े अक्षर से करता है। `PascalCase` पहले शब्द को बड़े अक्षरों में लिखते समय समान सम्मिलित शब्द आकार लागू करता है। ToolAcre में, दोनों परिवर्तन एक ही शब्द स्प्लिटर से शुरू होते हैं, इसलिए आउटपुट को इकट्ठा करने से पहले विराम चिह्न और मौजूदा केस सीमाओं की व्याख्या की जाती है।

कई टीमें अलग-अलग प्रकार के नामों के लिए दो फॉर्म निर्दिष्ट करती हैं, लेकिन रिपॉजिटरी उस विभाजन के लिए एक सार्वभौमिक भाषा नियम या इतिहास स्थापित नहीं करती है। स्थानीय स्टाइल गाइड, लिंटर, फ्रेमवर्क API, या नजदीकी कोड को प्राधिकारी मानें। कन्वर्टर वर्तनी आकार बदलता है; यह निर्धारित नहीं करता है कि कोई नाम किसी वर्ग, फ़ंक्शन, चर या घटक का प्रतिनिधित्व करता है या नहीं।

कैमलकेस और पास्कलकेस पहले अक्षर से भिन्न हैं; उनका भाषा इतिहास भंडार साक्ष्य के बाहर है

`snake_case` प्रत्येक खोजे गए शब्द को कम करता है और परिणामों को अंडरस्कोर के साथ जोड़ता है। `User Profile ID` के लिए, ToolAcre `user_profile_id` लौटाता है। विभाजक दृश्यमान रहते हैं, जो तब मदद कर सकते हैं जब नाम उन प्रणालियों से गुजरते हैं जो पूंजीकरण को विश्वसनीय रूप से संरक्षित नहीं करते हैं, लेकिन यह व्यावहारिक लाभ इस बात का प्रमाण नहीं है कि प्रत्येक डेटाबेस, भाषा या सेवा अंडरस्कोर की अपेक्षा करती है।

गंतव्य पर पहले से परिभाषित कन्वेंशन का उपयोग करें। पायथन सेवा में एक नीति, एक SQL स्कीमा दूसरी और एक क्रमबद्ध पेलोड तीसरी हो सकती है। ToolAcre उन अनुबंधों का निरीक्षण नहीं कर सकता. इसका विश्वसनीय वादा संकीर्ण है: `toSnakeCase` शब्दों का पता लगाता है, प्रत्येक को छोटा करता है, और यह तय किए बिना कि गंतव्य उस परिणाम की अनुमति देता है या पसंद करता है, उनके बीच `_` डालता है।

स्नेक_केस आउटपुट सीधे समर्थित है; पारिस्थितिकी तंत्र और SQL अपेक्षाएं प्रत्येक परियोजना पर निर्भर करती हैं

`kebab-case` समान लोअरकेस शब्दों का उपयोग करता है लेकिन उन्हें हाइफ़न के साथ जोड़ता है, जिससे `user-profile-id` उत्पन्न होता है। वह आकृति उन स्थानों पर स्पष्ट रूप से स्पष्ट है जहां एक हाइफ़न को डेटा के रूप में स्वीकार किया जाता है, जैसे कॉन्फ़िगर रूट सेगमेंट या प्रोजेक्ट-परिभाषित फ़ाइल नाम। यह JavaScript पहचानकर्ता नहीं है क्योंकि पार्सर एक नाम के भाग के बजाय एक ऑपरेटर के रूप में एक हाइफ़न पढ़ सकता है।

रूपरेखा में CSS कक्षाएं, HTML विशेषताएँ, कमांड-लाइन फ़्लैग और URL स्लग सूचीबद्ध हैं, फिर भी टेक्स्ट लाइब्रेरी उन उपभोक्ताओं के नियमों को परिभाषित नहीं करती है। कन्वर्ट करने से पहले लक्ष्य सिंटैक्स की पुष्टि करें। ToolAcre में एक्सेंट फोल्डिंग, सेपरेटर चयन, ट्रिमिंग और वैकल्पिक लंबाई हैंडलिंग के साथ एक अलग `slugify` फ़ंक्शन भी है, इसलिए सामान्य कबाब रूपांतरण को पूर्ण URL-स्लग सत्यापन के रूप में प्रस्तुत नहीं किया जाना चाहिए।

कबाब-केस आउटपुट सीधे समर्थित है; वैध उपयोग आसपास के सिंटैक्स पर निर्भर करते हैं

सीमाएँ वे हैं जहाँ नामकरण परंपराएँ कॉस्मेटिक के बजाय क्रियाशील हो जाती हैं। एक ब्राउज़र ऑब्जेक्ट एक वर्तनी का उपयोग कर सकता है जबकि API पेलोड या डेटाबेस कॉलम दूसरे का उपयोग करता है। दृश्यों, प्रश्नों और व्यावसायिक तर्क में रूपांतरणों को बिखेरने के बजाय उस मैपिंग को एक एडॉप्टर पर स्पष्ट करें। एक पूर्वानुमानित बढ़त प्रत्येक आंतरिक मॉडल को सुसंगत रखती है और बेमेल का पता लगाना आसान बनाती है।

केवल इसलिए मनमाने मानों को परिवर्तित करने से बचें क्योंकि वे पहचानकर्ता की तरह दिखते हैं। स्प्लिटर शब्द विराम चिह्नों को सीमाओं के रूप में मानता है और लोअरकेस, अपरकेस और अंकों के बीच चयनित बदलावों को पहचानता है। यह नामों के लिए उपयोगी है, लेकिन यह उन कुंजियों को बदल सकता है जिनकी वर्तनी बाहरी रूप से तय होती है। अनुबंध कुंजियों को तब तक सुरक्षित रखें जब तक कि प्राप्तकर्ता इंटरफ़ेस आपके नियंत्रण में मैपिंग का दस्तावेजीकरण न कर दे।

कार्यान्वित उदाहरण - सभी सम्मेलनों के माध्यम से एक पहचानकर्ता को परिवर्तित करना और यह तय करना कि एक छोटी परियोजना में कौन सा कहां से संबंधित है

`user profile ID` वाक्यांश के साथ एक छोटे एप्लिकेशन पर विचार करें। ToolAcre ऊंट केस के लिए `userProfileId`, पास्कल केस के लिए `UserProfileId`, स्नेक केस के लिए `user_profile_id` और कबाब केस के लिए `user-profile-id` का उत्पादन करता है। प्रत्येक आउटपुट में समान तीन ज्ञात शब्द होते हैं, जबकि पूंजीकरण और सम्मिलित विभाजक चयनित आकार को एन्कोड करते हैं।

एक व्यावहारिक परियोजना `userProfileId` को JavaScript ऑब्जेक्ट में रख सकती है, इसे दृढ़ता सीमा पर `user_profile_id` पर स्पष्ट रूप से मैप कर सकती है, और `user-profile-id` को उस स्थान के लिए आरक्षित कर सकती है जिसका व्याकरण हाइफ़न स्वीकार करता है। सटीक विकल्प उस प्रोजेक्ट से संबंधित हैं। महत्वपूर्ण हिस्सा प्रत्येक सीमा का दस्तावेजीकरण करना और उपस्थिति से बार-बार अनुमान लगाने के बजाय मानचित्रण का परीक्षण करना है।

इसमें क्या शामिल नहीं है - हंगेरियन नोटेशन और पहचानकर्ताओं के अंदर संक्षिप्ताक्षरों के बारे में बहस

यह तुलना संक्षिप्ताक्षर वर्तनी को व्यवस्थित नहीं करती है। कार्यान्वयन खोजे गए शब्दों को पुनर्निर्माण से पहले छोटे टुकड़ों में बदल देता है, इसलिए `HTTP` वाला इनपुट पास्कल या कैमल आउटपुट के अंदर `Http` के रूप में उभर सकता है। क्या कोई टीम `Http`, `HTTP`, `Id`, या `ID` पसंद करती है, यह एक नामकरण नीति है जिसके लिए इन सामान्य परिवर्तनों के बाहर एक स्पष्ट अपवाद की आवश्यकता होती है।

इसमें अंकन इतिहास, भाषा मानक, या प्रत्येक वैध पहचानकर्ता व्याकरण भी शामिल नहीं है। उन दावों के लिए इस आलेख के लिए उपयोग की गई टूल फ़ाइलों से परे स्रोतों की आवश्यकता है। ToolAcre नियतिवादी पाठ परिवर्तनों को प्रदर्शित करता है और एक प्रमुख सीमा का दस्तावेजीकरण करता है: किसी भी पता लगाने योग्य सीमा के बिना लिखे गए एक यौगिक को हमेशा उन शब्दों में विभाजित नहीं किया जा सकता है जो एक व्यक्ति का इरादा है।

संक्षिप्तीकरण नीति और अंकन इतिहास कन्वर्टर साक्ष्य के बाहर हैं

कोई भी मामला सार्वभौमिक रूप से सही नहीं है. एक नाम तब उपयोगी होता है जब वह अनुबंध का पालन करता है और उस परत को बनाए रखने वाले लोगों के लिए पहचानने योग्य बना रहता है। पहले से मौजूद कन्वेंशन से शुरुआत करें, एक फॉर्म को एक सीमा के अंदर रखें, और केवल वहीं अनुवाद करें जहां दूसरे इंटरफ़ेस को इसकी आवश्यकता हो। संगति आकस्मिक मतभेदों को कम करती है, यह दिखावा किए बिना कि प्रत्येक पारिस्थितिकी तंत्र एक नियम साझा करता है।

जब किCCमा को किसी अन्य आकार की आवश्यकता होती है, तो पहचानकर्ता को टेक्स्ट टूलकिट केस कन्वर्टर में पेस्ट करें और एक को लागू करने से पहले चार आउटपुट का निरीक्षण करें। ऑपरेशन ब्राउज़र में चलता है और मेनिफेस्ट बताता है कि टेक्स्ट सर्वर पर नहीं भेजा गया है या स्वतः सहेजा नहीं गया है। परिणाम को एक सुविचारित मैपिंग के रूप में उपयोग करें, फिर प्रोजेक्ट परीक्षण और स्थानीय शैली जांच को अंतिम विकल्प की पुष्टि करने दें।