मैं हमेशा काम पर सख्ती से DRY सिद्धांत का पालन करने की कोशिश करता हूं ; हर बार जब मैंने आलस्य से कोड दोहराया है तो बाद में वापस काटता है जब मुझे उस कोड को दो स्थानों पर बनाए रखने की आवश्यकता होती है।
लेकिन अक्सर मैं छोटे तरीकों (शायद कोड की 10 - 15 पंक्तियों) को लिखता हूं, जिन्हें दो परियोजनाओं में पुन: उपयोग करने की आवश्यकता होती है जो एक दूसरे का संदर्भ नहीं दे सकते । नेटवर्किंग / स्ट्रिंग्स / एमवीवीएम आदि के साथ करने के लिए विधि कुछ हो सकती है और यह उस परियोजना के लिए आम तौर पर उपयोगी विधि नहीं है जो मूल रूप से इसमें बैठती है।
इस कोड का पुन: उपयोग करने का मानक तरीका पुन: प्रयोज्य कोड और संदर्भ के लिए एक स्वतंत्र परियोजना बनाना होगा, जब आपको इसकी आवश्यकता हो। इसके साथ समस्या यह है कि हम दो से कम आदर्श परिदृश्यों में से एक में समाप्त होते हैं:
- हम दसियों / सैकड़ों छोटी परियोजनाओं के साथ समाप्त होते हैं - प्रत्येक को छोटी कक्षाओं / विधियों को घर में रखने के लिए जिन्हें हमें पुन: उपयोग करने की आवश्यकता है। क्या यह
.DLL
एक छोटे से कोड के लिए पूरी तरह से नया बनाने के लायक है ? - हम एक एकल परियोजना के साथ असंबंधित तरीकों और कक्षाओं के बढ़ते संग्रह को समाप्त करते हैं। यह दृष्टिकोण वह कंपनी है जिसके लिए मैं काम करता था; उनके पास एक प्रोजेक्ट था
base.common
जिसका नाम ऊपर बताई गई चीज़ों के लिए फ़ोल्डर था: नेटवर्किंग, स्ट्रिंग हेरफेर, एमवीवीएम आदि। यह अविश्वसनीय रूप से आसान था, लेकिन इसे संदर्भित करते हुए इसे अनावश्यक रूप से उस सभी अप्रासंगिक कोड के साथ खींच लिया गया जिसकी आपको आवश्यकता नहीं थी।
तो मेरा सवाल है:
एक सॉफ्टवेयर टीम परियोजनाओं के बीच कोड के छोटे बिट्स का पुन: उपयोग कैसे करती है?
मुझे विशेष रूप से दिलचस्पी है अगर किसी ने ऐसी कंपनी में काम किया है जिसकी इस क्षेत्र में नीतियां हैं, या जो व्यक्तिगत रूप से इस दुविधा में है जैसा कि मेरे पास है।
नोट: "प्रोजेक्ट", "समाधान" और "संदर्भ" शब्दों का मेरा उपयोग विज़ुअल स्टूडियो में .NET विकास की पृष्ठभूमि से आता है। लेकिन मुझे यकीन है कि यह मुद्दा भाषा और मंच स्वतंत्र है।