कोड लिखते समय, सबसे अधिक अनदेखा लेकिन महत्वपूर्ण पहलुओं में से एक नामकरण है।
हम अपने कोड में वेरिएबल्स, फ़ंक्शंस, कक्षाओं और अन्य संस्थाओं के लिए जो नाम चुनते हैं, वे पठनीयता, रखरखाव और समग्र गुणवत्ता पर महत्वपूर्ण प्रभाव डाल सकते हैं।
क्लीन कोड का अध्याय 2 सार्थक नाम चुनने की कला और विज्ञान पर प्रकाश डालता है, दिशानिर्देशों का एक सेट प्रदान करता है जो डेवलपर्स को ऐसा कोड लिखने में मदद कर सकता है जो अभिव्यंजक और समझने योग्य दोनों है।
इस ब्लॉग पोस्ट में, हम इस अध्याय से मुख्य निष्कर्षों का पता लगाएंगे, प्रत्येक अवधारणा को जावास्क्रिप्ट में उदाहरणों के साथ चित्रित करेंगे।
आपके द्वारा चुने गए नामों को चर, फ़ंक्शन या वर्ग के पीछे के इरादे को स्पष्ट रूप से बताना चाहिए। पाठक को अतिरिक्त संदर्भ की आवश्यकता के बिना यह समझने में सक्षम होना चाहिए कि कोड क्या करता है।
// Bad let d; // Good let daysUntilDeadline;
पहले उदाहरण में, d अस्पष्ट है और कोई संदर्भ प्रदान नहीं करता है। उन्नत संस्करण, DaysUntilDeadline, स्पष्ट रूप से इंगित करता है कि चर क्या दर्शाता है।
नाम भ्रामक नहीं होने चाहिए। ऐसे नामों का उपयोग करने से बचें जिनका अर्थ वास्तव में कोड से भिन्न हो सकता है।
// Bad let accountList = new Map(); // Good let accountsMap = new Map();
यहां, अकाउंटलिस्ट भ्रामक हो सकती है क्योंकि यह एक सूची (जो एक ऑर्डर किया गया संग्रह है) का सुझाव देती है, जबकि वास्तविक डेटा संरचना एक मानचित्र है। अकाउंटमैप का उपयोग करना अधिक सटीक है।
यदि आपको समान चर, कार्यों या वर्गों के बीच अंतर करने की आवश्यकता है, तो ऐसा इस तरह से करें जिससे अंतर स्पष्ट और सार्थक हो।
// Bad getUserInfo(); getUserData(); // Good getUserProfile(); getUserSettings();
पहले उदाहरण में, getUserInfo और getUserData बहुत समान हैं और स्पष्ट रूप से अपने अंतर नहीं बताते हैं। दूसरा उदाहरण फ़ंक्शंस द्वारा लौटाए गए परिणामों के आधार पर उनका नामकरण करके अंतर को स्पष्ट करता है।
नाम पढ़ने और उच्चारण करने में आसान होने चाहिए। इससे दूसरों के साथ कोड पर चर्चा करना अधिक सरल हो जाता है।
// Bad let genymdhms; // Good let generationTimestamp;
genymdhms एक गैर-उच्चारणीय नाम है जिसे याद रखना या चर्चा करना मुश्किल होगा। हालाँकि, जनरेशनटाइमस्टैम्प स्पष्ट और कहने में आसान है।
बड़े कोडबेस में, ऐसे नामों का उपयोग करना महत्वपूर्ण है जिन्हें खोजना आसान हो। एकल-अक्षर वाले नामों या अत्यधिक संक्षिप्त नामों का उपयोग करने से बचें।
// Bad let e = document.getElementById('email'); // Good let emailInputElement = document.getElementById('email');
ई आसानी से खोजने योग्य नहीं है, और यह यह नहीं बताता कि यह क्या दर्शाता है। emailInputElement अधिक वर्णनात्मक है और कोडबेस में इसका पता लगाना आसान है।
अपने नाम में प्रकार, उपसर्ग या अन्य एन्कोडिंग शामिल करने से बचें। नाम को पर्याप्त वर्णनात्मक होने दें।
// Bad let phoneString; // Good let phoneNumber;
इस मामले में, फोनस्ट्रिंग में एक अनावश्यक प्रकार एन्कोडिंग (स्ट्रिंग) शामिल है। फ़ोन नंबर सरल और अधिक प्रत्यक्ष है।
वर्ग वस्तुओं या अवधारणाओं का प्रतिनिधित्व करते हैं, इसलिए उनके नाम संज्ञा होने चाहिए। दूसरी ओर, फ़ंक्शन क्रियाओं का प्रतिनिधित्व करते हैं, इसलिए उनके नाम क्रिया होने चाहिए।
// Class names (Nouns) class UserAccount {} class ShoppingCart {} // Function names (Verbs) function calculateTotal() {} function sendEmail() {}
यह अंतर आपके कोड में प्रत्येक तत्व की भूमिका को समझने में मदद करता है।
पाठक को किसी नाम का अधिक अर्थपूर्ण अनुवाद करने के लिए बाध्य न करें। नाम स्व-व्याख्यात्मक होना चाहिए।
// Bad let n = 5; // Number of users // Good let userCount = 5;
n के लिए पाठक को यह याद रखना या निष्कर्ष निकालना आवश्यक है कि यह उपयोगकर्ताओं की संख्या को दर्शाता है, जबकि उपयोगकर्तागणना तुरंत स्पष्ट है।
अर्थपूर्ण नाम चुनना केवल शैली का मामला नहीं है - यह स्वच्छ, रखरखाव योग्य कोड लिखने का एक मौलिक अभ्यास है।
क्लीन कोड के अध्याय 2 में उल्लिखित दिशानिर्देशों का पालन करके, आप अपने जावास्क्रिप्ट कोड की पठनीयता में सुधार कर सकते हैं और इसे दूसरों (और स्वयं) के लिए समझना और बनाए रखना आसान बना सकते हैं।
याद रखें, लक्ष्य ऐसा कोड लिखना है जो अपने उद्देश्य और तर्क को बताता है, पाठक पर संज्ञानात्मक भार को कम करता है।
अगली बार जब आप किसी वेरिएबल, फ़ंक्शन या क्लास का नाम रखें, तो सार्थक नामकरण के सिद्धांतों पर विचार करें और वे कैसे स्वच्छ, अधिक प्रभावी कोड में योगदान दे सकते हैं।
हैप्पी कोडिंग!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3