मैं दस साल से अधिक समय से एक ही सॉफ्टवेयर कंपनी में काम कर रहा हूं। नतीजतन, मैंने विभिन्न ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं का उपयोग करके एक बड़े कोड बेस को लागू किया है। मैं एक शुरुआती प्रोग्रामर था जब मैंने पहली बार अपना करियर शुरू किया था और मुझे अच्छे इंटरफ़ेस और क्लास डिज़ाइन सिद्धांतों के बारे में ज्यादा जानकारी नहीं थी। मैं यह सोचना चाहूंगा कि समय के साथ मेरे डिजाइन कौशल में सुधार हुआ है, लेकिन अब मैं बैकग्राउंड कम्पेटिबिलिटी संबंधी चिंताओं के कारण अपने पहले के कोड को बेहतर बनाने में अधिक से अधिक कठिनाइयों का सामना कर रहा हूं। मेरे कोड का उपयोग बड़ी संख्या में ग्राहकों द्वारा उन उत्पादों के रूप में किया जाता है जो मेरी कंपनी बेचती है।
मेरा सवाल यह है: जब एक पुराने इंटरफेस के पिछड़े संगतता को बनाए रखने की कोशिश करना बंद कर देना चाहिए और एक ब्रांड के नए डिजाइन को लागू करने के पक्ष में गोली को काट देना चाहिए?
मुझे लगता है कि एक बिंदु आता है जहां पिछड़ेपन को बनाए रखना इतना बड़ा बोझ बन जाता है कि इंटरफेस में उपयोगी बदलाव असंभव हो जाते हैं। क्या किसी ने समान चिंताओं का अनुभव किया है, जो कुछ प्रतिक्रिया दे सकता है?
I think there comes a point where keeping backward compatibility becomes such a big burden that useful changes to interfaces become impossible.- और मुझे लगता है कि आप अपने खुद के सवाल का जवाब दिया ...