2011-12-01 9 views
6

लोग!विभिन्न रूबी परियोजनाओं के बीच कोड पुन: उपयोग में सर्वोत्तम प्रथाओं क्या है?

मैं जावा पृष्ठभूमि के साथ एक सॉफ्टवेयर डेवलपर हूं और मैं रूबी वेब फ्रेमवर्क (पैड्रिनो/सिनात्रा) का उपयोग करके कुछ परियोजनाएं शुरू कर रहा हूं।

मेरी जावा परियोजनाओं में, मेरे पास आमतौर पर कुछ "सामान्य" परियोजनाएं होती थीं जिनकी कक्षाएं कई परियोजनाओं में उपयोग की जाती थीं। उदाहरण के लिए, मेरे पास केंद्रीय प्रमाणीकरण सेवा थी, और एक साझा डेटाबेस जो उपयोगकर्ता प्रोफाइल संग्रहीत करता था। इस सेवा का उपयोग करने वाली मेरी सभी परियोजनाओं ने उपयोगकर्ता प्रोफ़ाइल डेटाबेस में मैप किए गए कुछ मॉडल साझा किए हैं।

तो, ढांचे के बावजूद, ओआरएम lib आदि, कई रूबी परियोजनाओं में कोड साझा करने का सबसे अच्छा तरीका क्या है?

उत्तर

4

इसके अलावा, ruby's gems कोड के सामान्य भागों का पुन: उपयोग करने का सबसे अच्छा तरीका है। रत्नों में नाम, संस्करण संख्याएं और विवरण हैं और इसलिए आप इन पुस्तकालयों के अद्यतित संस्करणों को आसानी से बनाए रख सकते हैं, इंस्टॉल और अनइंस्टॉल कर सकते हैं, कमांड लाइन से उपलब्ध gem कमांड का उपयोग करके अपने कंप्यूटर के स्थानीय इंस्टॉलेशन को रत्नों का प्रबंधन कर सकते हैं। रत्न 1.9 के साथ रत्न मानक बन गया, लेकिन इससे पहले कि आपको स्क्रिप्ट में require 'rubygems' लाइन का उपयोग करना पड़े। ऐसे कई टूल हैं जो उन्हें बनाने में मदद करते हैं, उदाहरण के लिए, bundler। बंडलर न केवल मणि निर्माण के लिए उपकरण है, बल्कि एक भयानक अनुप्रयोग की निर्भरता प्रबंधक है।

0

अपने कोड को something.rb फ़ाइल और require पर अपनी अन्य स्क्रिप्ट के शीर्ष पर रखें।

आप load का उपयोग require के बजाय भी कर सकते हैं, लेकिन require में अच्छी संपत्ति है जिसमें इसमें एक से अधिक बार फ़ाइल शामिल नहीं होगी। इसके अलावा, load का उपयोग कर, जबकि require नहीं है, .rb एक्सटेंशन की आवश्यकता है, जैसे कि,

#some_script.rb 
puts('hello world') 

#another script 
require 'some_script' 
>> hello world 

load 'some_script' 
LoadError: no such file to load -- some_script 
    from (irb):2:in 'load' 
    from (irb):2 

आप लगभग हमेशा require उपयोग करेगा, लेकिन load एक विकल्प है और साथ ही आप के लिए ... जो भी कारण के लिए इसका इस्तेमाल करना चाहते हैं।

+0

मुझे लगता है कि उसका मतलब है कि ** प्रोजेक्ट फ़ोल्डर्स में ** something.rb ** साझा करने का सबसे अच्छा तरीका क्या है। मुझे यह भी करने की ज़रूरत है। –

संबंधित मुद्दे