क्या बहु-फ़ाइल रूबी प्रोग्राम आयोजित करने के लिए मानक या पारंपरिक प्रणाली है? मैंने रुबी में अपनी पहली बड़ी "परियोजना" शुरू की है, एक खोज प्रोग्राम जो कई फाइलों और निर्देशिकाओं में तर्कसंगत रूप से व्यवस्थित है। मैं अपने संभावित संरचना नीचे प्रदान की हैं:बहु-फ़ाइल रूबी प्रोग्राम आयोजित करने के लिए सिस्टम?
- मुख्य फ़ाइल। यह फ़ाइल खोज वर्ग और सामान्य खोज प्रोटोकॉल लागू करती है।
- एल्गोरिदमिक विश्लेषण फ़ाइल। यह फ़ाइल उन कार्यों को लागू करती है जो खोज परिणामों की व्याख्या करती हैं।
- प्रोटोकॉल निर्देशिका
- प्रोटोकॉल खोज करने के लिए प्रति एक फ़ाइल है।
- निर्देशिका फ़ीड कार्यक्रम का उद्देश्य के
- भाग संग्रहीत समाचार फ़ीड खोज करने के लिए है। इस सुविधा के लिए फाइलें इस फ़ोल्डर में जाती हैं।
हालांकि, कोड वर्तमान में एक वर्ग है कि प्रत्येक प्रोटोकॉल के खोज वर्ग (GoogleSearcher < खोजकर्ता) से विरासत (इसे खोजकर्ता कॉल)। इसे प्रबंधित करने के लिए, मुझे इन प्रोटोकॉल फ़ाइलों (दाएं?) में मुख्य फ़ाइल शामिल करने की आवश्यकता है जो मेरी आदर्श संरचना को संभव नहीं लगती है।
मेरे विशिष्ट उदाहरण के अलावा, मैं सोच रहा था कि क्या कोई सम्मेलन है, जैसे कि "कम से कम फाइलें" या "फाइलों की लॉजिकल स्ट्रक्चरिंग अनावश्यक है"। क्या "सहायक" कार्यों की एक फ़ाइल है (जैसे कि रेल में?) किस स्तर का अमूर्त उचित माना जाता है?
अंत में, मैं पुस्तकालय के रूप में किसी दिन रेल में एकीकृत करने की योजना बना रहा हूं (प्लगइन नहीं; मैं इसे स्टैंडअलोन भी काम करना चाहता हूं)। मुझे नहीं पता कि यह संगठन को प्रभावित करेगा या नहीं।
मुझे पता है कि यह एक सुंदर ओपन-एंडेड प्रश्न है, लेकिन ऐसा इसलिए है क्योंकि मैं दूरस्थ रूप से प्रासंगिक किसी भी सलाह की सराहना करता हूं। अग्रिम में धन्यवाद।
कुछ साफ मणि बनाने के उपकरण हैं: newgem, ज्वैलर, हड्डियों। मैंने एक प्रोजेक्ट के लिए न्यूजम का इस्तेमाल किया था (जिसे वास्तव में मणि के रूप में रिलीज़ नहीं किया गया था) और यह बहुत अच्छा काम करता है – RyanWilcox
यह अच्छा है, और यह केवल एक अनुत्तरित प्रश्न छोड़ देता है (पीछे की ओर, यह सवाल निश्चित रूप से बहुत व्यापक था।) क्या वहां है कई फाइलों में कक्षा विरासत रखने का एक तरीका, जहां मुख्य वर्ग मुख्य फ़ाइल में है और उससे प्राप्त कक्षाएं उपनिर्देशिका में परिधीय फाइलों में हैं? या वह एक पिछड़ा संगठन है? –
जब विरासत की बात आती है तो रूबी बहुत क्षमा कर रही है। यदि मैं आपके प्रश्न को सही ढंग से समझता हूं, तो आप इसे वर्णन करने के लिए निश्चित रूप से इसे सेट करना संभव होगा। आपकी परियोजना के किसी भी विवरण को जानने के बिना, मैं शायद वही काम करूंगा जहां "मुख्य वर्ग" lib/foo/निर्देशिका में है और मुख्य वर्ग से प्राप्त कक्षाएं lib/foo/bar, lib/foo/baz में हैं और इसी तरह। इस प्रकार के सेटअप के लाइव उदाहरणों के लिए नोकोगिरी जैसे रत्नों पर नज़र डालें। – vonconrad