क्या फाइलों को कुछ के साथ नाम दिया जाना चाहिए-hyphens.js, camelCased.js, या कुछ और?
क्या फाइलों को कुछ के साथ नाम दिया जाना चाहिए-hyphens.js, camelCased.js, या कुछ और?
जवाबों:
नामकरण योजना jQuery के उपयोग के समान कुछ का उपयोग करने के लिए एक संभावित नामकरण सम्मेलन है। यह सार्वभौमिक रूप से नहीं अपनाया गया है लेकिन यह बहुत आम है।
product-name.plugin-ver.sion.filetype.js
जहां product-name+ pluginजोड़ी एक नाम स्थान और एक मॉड्यूल का भी प्रतिनिधित्व कर सकती है । versionऔर filetypeआम तौर पर वैकल्पिक हैं।
filetypeफ़ाइल की सामग्री कैसे है के सापेक्ष कुछ हो सकता है। अक्सर देखा जाता है:
min छोटी फ़ाइलों के लिएcustom कस्टम निर्मित या संशोधित फ़ाइलों के लिएउदाहरण:
jquery-1.4.2.min.jsjquery.plugin-0.1.jsmyapp.invoice.jsमुझे जावास्क्रिप्ट फ़ाइलों के लिए किसी विशेष सम्मेलन के बारे में पता नहीं है क्योंकि वे वास्तव में वेब बनाम सीएसएस फ़ाइलों या HTML फ़ाइलों या उस जैसी किसी अन्य प्रकार की फ़ाइल पर अद्वितीय नहीं हैं। कुछ "सुरक्षित" चीजें हैं जो आप कर सकते हैं जिससे यह संभावना कम हो जाती है कि आप गलती से क्रॉस प्लेटफॉर्म इश्यू में भाग लेंगे:
various-scripts.js, तो एक हाइफ़न एक सुरक्षित और उपयोगी और आमतौर पर उपयोग किया जाने वाला विभाजक है।जावास्क्रिप्ट फ़ाइलों के नामकरण के लिए कोई आधिकारिक, सार्वभौमिक , सम्मेलन नहीं है।
कुछ विभिन्न विकल्प हैं:
scriptName.jsscript-name.jsscript_name.jsसभी मान्य नामकरण परंपराएँ हैं, हालाँकि मैं पसंद करता हूँ jQuery का सुझाव दिया नामकरण सम्मेलन (jQuery प्लगइन्स के लिए, हालाँकि यह किसी भी JS के लिए काम करता है)
jquery.pluginname.jsइस नामकरण सम्मेलन की सुंदरता यह है कि यह स्पष्ट रूप से वैश्विक नामस्थान प्रदूषण को जोड़ने का वर्णन करता है।
foo.js जोड़ता window.foofoo.bar.js जोड़ता window.foo.barक्योंकि मैंने संस्करण छोड़ दिया है: यह पूर्ण नाम के बाद आना चाहिए, अधिमानतः एक हाइफ़न द्वारा अलग किया गया, प्रमुख और लघु संस्करणों के बीच की अवधि के साथ:
foo-1.2.1.jsfoo-1.2.2.jsfoo-2.1.24.jsThe beauty to this naming convention is that it explicitly describes the global namespace pollution being added., इस पर कभी गौर नहीं किया गया कि
Fooया myFoo, तो क्या आप फ़ाइल को क्रमशः नाम Foo.jsया नाम देंगे myFoo.js?
लिंक में प्रश्न आपने जावास्क्रिप्ट चर के नामकरण के बारे में दिया था, फ़ाइल नामकरण के बारे में नहीं, इसलिए उस संदर्भ के लिए भूल जाइए जिसमें आप अपना प्रश्न पूछते हैं।
नामकरण के रूप में, यह शुद्ध रूप से वरीयता और स्वाद का मामला है। मैं हाइफ़न के साथ नामकरण फ़ाइलों को पसंद करता हूं क्योंकि तब मुझे शिफ्ट कुंजी के लिए नहीं पहुंचना पड़ता है, जैसा कि मैं कैमल फ़ाइल नामों के साथ काम करते समय करता हूं; और क्योंकि मुझे Windows और Linux फ़ाइल नामों के बीच अंतर के बारे में चिंता करने की ज़रूरत नहीं है (Windows फ़ाइल नाम केस-असंवेदनशील हैं, कम से कम XP के माध्यम से)।
तो जवाब, इतने सारे की तरह, "यह निर्भर करता है" या "यह आपके ऊपर है।"
एक नियम जिसे आपको पालन करना चाहिए वह आपके द्वारा चुने गए सम्मेलन में सुसंगत होना है।
मैं आम तौर पर कम मामले के साथ हाइफ़न पसंद करता हूं, लेकिन एक बात का अभी तक उल्लेख नहीं किया गया है कि कभी-कभी फ़ाइल नाम बिल्कुल एक मॉड्यूल या तत्काल फ़ंक्शन के नाम से मेल खाने के लिए अच्छा है।
उदाहरण के लिए, मेरे पास एक खुलासा मॉड्यूल है var knockoutUtilityModule = function() {...}जिसे नॉकआउट यूटिलिटीमॉडल.जेएस नामक अपनी स्वयं की फ़ाइल के साथ घोषित किया गया है, हालांकि वास्तव में मैं नॉकआउट-यूटिलिटी-मॉड्यूल.जेएस पसंद करता हूं।
इसी तरह, चूंकि मैं स्क्रिप्ट्स को संयोजित करने के लिए एक बंडलिंग तंत्र का उपयोग कर रहा हूं, इसलिए मैंने अपनी फ़ाइल, सी # शैली में प्रत्येक को बनाए रखने के लिए तात्कालिक कार्यों (टेम्पर्ड व्यू मॉडल आदि) को परिभाषित करने के लिए लिया है। उदाहरण के लिए, ProductDescriptorViewModel ProductDescriptorViewModel.js के अंदर अपने दम पर रहता है (मैं तत्काल कार्यों के लिए ऊपरी मामले का उपयोग करता हूं)।
MyPluginकक्षा में जाना होगाMyPlugin.js।MenuItemमें जाना होगा घटक प्रतिक्रियाMenuItem.js। अन्य देवों को 'आपके कूल-मॉड्यूल' को आयात / आयात करना होगा और उसमें से कई प्रतीकों का उपयोग करना होगा, इसलिए इसे नाम देंcool-module.js। -