मुझे स्कैला के साथ कुछ अनुभव है। मैं इसे 10 सदस्यों के साथ नई परियोजना में पेश करना चाहता हूं। लेकिन स्कैला की सभी अभिव्यक्तियों के बावजूद, मुझे इस बात से बहुत अनिश्चितता है कि कोड को कैसे बनाए रखा जा सकता है और नए टीम के सदस्यों को स्थानांतरित किया जा सकता है। फिलहाल मैंने स्केल http://code.google.com/p/factorie/ और कुछ स्कैला डीएसएल (अपाचे ऊंट) पर केवल एक बड़ी परियोजना का अध्ययन किया है। तो मेरा सवाल यह है कि मध्य स्तर के डेवलपर्स की टीम के लिए जावा, पायथन और ग्रोवी की तुलना में कितना स्केल बनाए रखने योग्य/सहायक है?बड़ा स्कैला कोडबेस बनाए रखने योग्य है?
उत्तर
सामान्य में: codebase के रख-रखाव पर निर्भर करता है
- रख-रखाव
- के लिए डिजाइन करने के लिए डेवलपर्स की इच्छा डेवलपर्स के कौशल अपने इरादे को लागू करने (कुछ नाम हैं)
- दस्तावेज़ीकरण का स्तर और सटीकता (दस्तावेज़ीकरण कितनी अच्छी तरह से दस्तावेज है कि दस्तावेज कितना विस्तृत है, दस्तावेज कितना अच्छी तरह से चित्रित करता है)
- रखरखाव की देखभाल करने वाले डेवलपर्स का कौशल
आप उपलब्ध किसी भी भाषा का उपयोग कर एक गड़बड़ कर सकते हैं। तर्कसंगत रूप से आप उत्पादन के उपयोग के लिए लक्षित किसी भी प्रोग्रामिंग भाषा का उपयोग कर किसी भी आकार की एक स्वच्छ और रखरखाव परियोजना बना सकते हैं।
उस ने कहा - स्कैला जावा, पायथन या ग्रोवी से कम बनाए रखने योग्य नहीं होना चाहिए। हालांकि पहली परियोजना का नतीजा कम रखरखाव हो सकता है।
लघु जवाब: हाँ
लांग जवाब: जावा की तुलना में, बहुत ज्यादा तो के रूप में।
लक्षण, केस कक्षाएं, पैटर्न मिलान, उच्च प्रकार के प्रकार, बंद, इत्यादि सभी बॉयलरप्लेट को हटाने और डीआरवाई सिद्धांत को लागू करने के लिए आपके लिए आसान बनाते हैं। आपका कोडबेस आकार के 1/3 के आसपास होगा, और तर्क को डुप्लिकेट करने के बजाय कुंजी abstractions को अलग करना बहुत आसान है।
निकर परीक्षण ढांचे भी परीक्षणों का एक प्रभावी सेट रखने के लिए इसे कहीं अधिक आसान बनाते हैं।
बेशक ... यह सब शामिल व्यक्तिगत डेवलपर्स की इच्छा/कौशल पर Aleksi के अंक के बाद आता है। यदि टीम सक्रिय रूप से रखरखाव के लिए लक्ष्य नहीं रख रही है, तो दुनिया की सबसे अधिक रखरखाव योग्य भाषा आपकी मदद नहीं करेगी!
- 1. (बनाए रखने, nonatomic) और (nonatomic, बनाए रखने) कोई अंतर?
- 2. web.config फ़ाइलों को बनाए रखने
- 3. एक बनाए रखने योग्य वेब स्क्रैपिंग ऐप लिखने का सबसे अच्छा तरीका क्या है?
- 4. सीएसएस या हल्के HTML को बनाए रखने में आसान है?
- 5. जावा सेट ऑर्डर बनाए रखने के लिए?
- 6. initWithCoder में बनाए रखने का उपयोग करें?
- 7. डॉक्सीजन, बनाए रखने के लिए बहुत भारी?
- 8. स्मृति रिसाव जब बनाए रखने संपत्ति
- 9. कैसे ListView की स्थिति बनाए रखने के
- 10. आपको बनाए रखने के लिए सबसे कठिन कार्यक्रम क्या है?
- 11. एक कोडबेस
- 12. पाइथन कोडबेस
- 13. एआरसी में '[[कुछ बनाए रखने] autorelease]' के बराबर क्या है?
- 14. "प्रतिलिपि" और "बनाए रखने" के बीच क्या अंतर है?
- 15. इस संपत्ति को 'बनाए रखने' की आवश्यकता क्यों है?
- 16. आप विशाल और मुश्किल से बनाए रखने योग्य XAML फ़ाइलों का प्रबंधन कैसे करते हैं?
- 17. मेरा सी ++ आउटपुट निष्पादन योग्य इतना बड़ा क्यों है?
- 18. डेविस याद रखने योग्य कुछ भी याद नहीं है
- 19. साझा कोडबेस और डीबी
- 20. एक बड़े पायथन कोडबेस
- 21. सफाई विशाल पर्ल कोडबेस
- 22. जीएचसी इतना बड़ा/बड़ा क्यों है?
- 23. NSManagedObject गिनती बनाए रखने क्यों एक नव निर्मित प्रबंधित वस्तु की गिनती को बनाए रखने अगर किसी को समझा सकता है 2. है निर्माण
- 24. नहीं, 'बनाए रखने' 'असाइन', या 'प्रतिलिपि' विशेषता NSString
- 25. Obj-C __block चर व्यवहार को बनाए रखने
- 26. Git स्क्वैश और बनाए रखने के पिछले प्रतिबद्ध का टाइमस्टैंप
- 27. नेटवर्क प्रोग्रामिंग: सॉकेट बनाए रखने के लिए या नहीं?
- 28. सी # क्लाइंट पर HTTPS पर सत्र बनाए रखने
- 29. प्रदर्शन चयनकर्ता: ऑब्जेक्ट: और इसके बनाए रखने के व्यवहार
- 30. एक आरईएसटी आवेदन में एक सत्र बनाए रखने के लिए
शायद प्रोग्रामर.एसई पर कुछ ध्यान मिलेगा, लेकिन यहां नहीं। –