2010-03-21 21 views
6

पर जाने के लिए जब मेरी टीम और बड़ी संख्या में विरासत अनुप्रयोगों का समर्थन करती है, जिनमें से सभी वर्तमान में कार्यात्मक हैं लेकिन समर्थन और रखरखाव के लिए समस्याग्रस्त हैं। वे सभी कोड पर निर्भर करते हैं कि कंपाइलर निर्माण के लिए आधिकारिक तौर पर कोई समर्थन नहीं है।विरासत कोड -

तो सवाल यह है कि हम कोड छोड़ रहा है चाहिए के रूप में है, और एक नया संकलक जोखिम हमारे कोड को तोड़ने, या हम गोली काटने और सभी कोड अपडेट करना चाहिए?

+4

यदि आपको इसे बनाए रखना है, तो मैं दृढ़ता से सुझाव देता हूं कि लीगेसी कोड के साथ प्रभावी रूप से कार्यशील पुस्तक को उठाएं। उत्कृष्ट है। http://www.amazon.com/Working- प्रभावी रूप से- लीगेसी- माइकल- फेदरस/डीपी/0131177052 – TrueWill

+0

मेरे पास पहले से ही यह है - आप सही हैं कि यह उत्कृष्ट है। – Mmarquee

उत्तर

3

जवाब पूरी तरह से संसाधनों अपने नियोक्ता (या अपने आप को) पुनर्रचना (या यहां तक ​​कि पूरी तरह से बड़ा कुछ हिस्सों को फिर से लिखने) बनाने के लिए खर्च कर सकते हैं पर निर्भर है।

तो तुम पहले का अनुमान करना चाहिए कि कितना समय/डेवलपर्स आप, आवेदन पुनर्रचना करने के लिए खर्च कर सकते हैं तो अगर आपको लगता है कि यह पर्याप्त हो जाएगा देखते हैं।

आप समय और लोगों बर्दाश्त कर सकते हैं, तो यह, संकोच नहीं करते है! आप भविष्य में निवेश को डीबग करने के लिए समय कम करके भविष्य में निवेश कर रहे हैं ताकि रिफैक्टरिंग करने के बाद यह सहायक और कम महंगी हो।

1

यह अनुप्रयोगों की प्रकृति पर निर्भर करता है, यह कितना बड़ा और महत्वपूर्ण है, साथ ही आपके कार्यस्थल पर प्रोग्रामिंग संस्कृति, और आपके लिए उपलब्ध संसाधन।

अनुप्रयोगों के लिए पर्याप्त जो आपके लिए महत्वपूर्ण है कि वे मुसीबत के लायक हैं, और आप के लिए आवश्यक संसाधन है, तो अद्यतन करते हैं। समस्या को जारी रखने मत दो।

वे काफी मूल्यवान लायक एक पूर्ण पैमाने अद्यतन प्रयास, या उपयुक्त संसाधनों होने के लिए नहीं कर रहे हैं हाथ में नहीं हैं, शायद एक समय यदि संभव हो तो कम एक अद्यतन करने पर काम करते हैं।

बस कुछ सुझाव, लेकिन फिर यह आपके और आपके संगठन पर निर्भर करता है।

1

ऐसा लगता है कि आपके पास एक बड़ा तकनीकी ऋण है। यह ऋण केवल तब तक बढ़ने जा रहा है जब तक आप कुछ नहीं करते। आपके द्वारा उल्लिखित दोनों चीजें विकल्प हैं, और जोखिम भरा, लेकिन दीर्घकालिक यह एक जोखिम है जिसे आपको लेने की आवश्यकता है।

एक अद्यतन कंपाइलर का उपयोग करने का मतलब है कि आपको नए कंपाइलर में काम करने के लिए कोड को अपडेट करने की आवश्यकता है। कुछ तोड़ने के लिए बाध्य है, लेकिन फिर टूटने वाले हिस्सों को दोबारा दोहराएं। यह आपको माइग्रेट करने की अनुमति देता है।

दूसरा विकल्प आपके संपूर्ण कोड बेस को अपडेट करना है। इसमें समय लगता है, जिसके दौरान आपको कोड की 2 प्रतियां बनाए रखने की आवश्यकता होती है, या पुराने संस्करण को फ्रीज किया जाता है। पुराने संस्करण को फ्रीज करना शायद एक विकल्प नहीं है।

मैं एक अद्यतन कंपाइलर का उपयोग करने और क्या ब्रेक तय करने की सलाह दूंगा। यह आपको वर्तमान कोडबेस को रीफैक्टरिंग और फिक्स करने के दौरान सुविधाओं को जोड़ने की अनुमति देता है।

0

कोड नए सिरे से लिखना कई कारणों से आप कंपनी के लिए एक उपयोगी कदम हो सकता है:

  • आप एक नया संकलक का उपयोग कर सकते हैं और एक और अधिक हाल के मंच
  • आप अपनी कमजोरियों को हटाने कोड refactor कर सकते हैं
  • आप अपने लोगों को प्रेरित कर सकते हैं क्योंकि नए कोड को विकसित करना पुराने में सही बग से बेहतर है।

कोड के सबसे आम भागों से शुरू होने वाली छोटी संख्या में लोगों के साथ आप उस गतिविधि को क्यों शुरू नहीं करते हैं? आप उन्हें एक डीएलएल में समूहित कर सकते हैं और भविष्य की परियोजनाओं के लिए भी इसका इस्तेमाल कर सकते हैं।

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