यह कैसे मैं पारंपरिक रूप से मेरी फ़ाइलों का आयोजन किया गया है। हालांकि, मुझे पता चला है कि बड़े अनुप्रयोगों के साथ यह वास्तव में व्यवस्थित, सब कुछ व्यवस्थित रखने के लिए दर्द बन जाता है। एक 'नया' तरीका जो मैं इसके बारे में जा रहा हूं, मेरी फाइलों को प्रकार के बजाय सुविधा के अनुसार व्यवस्थित कर रहा है। तो, उदाहरण के लिए:
js/feature1/someView.js
js/feature1/someController.js
js/feature1/someTemplate.html
js/feature1/someModel.js
लेकिन, अक्सर वहाँ वैश्विक "बातें" है कि आप की जरूरत है, "उपयोगकर्ता" या कि उपयोगकर्ता का निर्माण किया है स्थानों की एक संग्रह की तरह हैं। तो:
js/application/model/user.js
js/application/collection/location.js
यह पैटर्न मेरे लिए सुझाव दिया गया था क्योंकि तब आप सुविधा सेट, पैकेज पर काम करते हैं और उन्हें अपेक्षाकृत कम प्रयास के साथ requirejs का उपयोग कर तैनात कर सकते हैं। यह फीचर सेट के बीच होने वाली निर्भरताओं की संभावना को भी कम कर देता है, इसलिए यदि आप किसी फीचर को हटाना चाहते हैं या इसे नए कोड के साथ अपडेट करना चाहते हैं, तो आप प्रत्येक फाइल के शिकार के बजाय 'सामान' के फ़ोल्डर को प्रतिस्थापित कर सकते हैं। साथ ही, आईडीई में, यह केवल उन फ़ाइलों को बनाता है जिन्हें आप ढूंढना आसान बनाते हैं।
मेरे दो सेंट।
संपादित करें: spec फ़ाइलों के बारे में क्या?
कुछ विचार - आपको केवल उस व्यक्ति को चुनना होगा जो आपको लगता है कि आपके लिए सबसे स्वाभाविक लगता है।
- आप spec फ़ाइलों के साथ एक ही 'फीचर फ़ोल्डर' पैटर्न का पालन कर सकते हैं। उल्टा यह है कि सभी चश्मे एक ही स्थान पर हैं। नकारात्मकता यह है कि अब, जो आप वर्तमान में कर रहे हैं उतना ही, आपको एक फीचर की फाइलों के लिए जगह लेनी होगी।
- आप चश्मे को सुविधा फ़ोल्डर के 'spec' फ़ोल्डर में डाल सकते हैं। उलझन यह है कि अब आपके पास वास्तविक पैकेज हैं जिन्हें एक ही ज़िप फ़ाइल में लपेटा जा सकता है, जिसमें अन्य कामों को पकड़ने का कोई मौका नहीं है। परीक्षण लिखने के लिए सीधे संबंधित फाइलों को ढूंढना भी आसान है - वे सभी एक ही मूल फ़ोल्डर में हैं। नकारात्मकता यह है कि अब आपका उत्पादन कोड और परीक्षण कोड एक ही फ़ोल्डर में है, इसे (संभवतः) दुनिया में प्रकाशित करना। अनुमोदित है कि आप शायद किसी भी समय एक फ़ाइल में उत्पादन जावास्क्रिप्ट को संकलित करना समाप्त कर देंगे .. इसलिए मुझे यकीन नहीं है कि यह एक मुद्दा है।
- मेरा सुझाव - यदि यह एक बड़ा एप्लीकेशन है और आपको लगता है कि आपके पास फ़ाइलों को छूने वाले कुछ हाथ हैं, तो फ़ोल्डर में 'package.json/yml/xml' फ़ाइल की तरह कुछ छोड़ दें। वहां, उत्पादन, spec, और परीक्षण के लिए आवश्यक किसी भी डेटा फ़ाइलों को सूचीबद्ध करें (आप संभवतः आपके लिए ऐसा करने के लिए एक त्वरित खोल स्क्रिप्ट लिख सकते हैं)। फिर 'package.whateverYouChose' फ़ाइलों के लिए अपने स्रोत फ़ोल्डर को देखने के लिए एक त्वरित स्क्रिप्ट लिखें, परीक्षण फाइलें प्राप्त करें और फिर इसके साथ अपना यूनिट परीक्षण पृष्ठ बनाएं। तो, मान लीजिए कि आप एक और पैकेज जोड़ते हैं .. 'updateSpecRunner' चलाएं या जो भी आप स्क्रिप्ट का नाम दें, और यह आपको एक और SpecRunner.html फ़ाइल जेनरेट करेगा (या जो भी आपने फ़ाइल को चश्मा चलाया है)। फिर आप इसे ब्राउज़र में मैन्युअल रूप से परीक्षण कर सकते हैं, या इसे phantomjs/rhino का उपयोग करके स्वचालित कर सकते हैं।
क्या यह समझ में आता है?
spec फ़ाइलों के बारे में क्या? – js999
मैं सिर्फ एक पल में अपना जवाब अपडेट करूंगा। – Stephen
धन्यवाद, मैं इसे स्वीकार करने से पहले अपने एवरवेयर का अध्ययन करूंगा ... +1 आपके समय के लिए धन्यवाद – js999