सबसे अच्छा तरीका क्या होगा? उनके लिए यूनिट टेस्ट लिखें, या सवाल करें कि वे वहां क्यों हैं?
कोड हटाना एक अच्छी बात है।
आप कोड को नहीं हटा सकते हैं, तो आप इसे के रूप में निश्चित रूप से चिह्नित कर सकते हैं @Deprecated , कुछ दस्तावेज़ीकृत जो प्रमुख रिलीज़ आप विधि दूर करने के लिए लक्षित कर रहे हैं। फिर आप इसे "बाद में" हटा सकते हैं। इस बीच, यह स्पष्ट हो जाएगा कि कोई नया कोड नहीं जोड़ा जाना चाहिए जो इस पर निर्भर करता है।
मैं पदावनत तरीकों में निवेश करने की सिफारिश नहीं करूंगा - इसलिए कोई नई इकाई परीक्षण सिर्फ कवरेज के लक्ष्यों को हिट करने के लिए नहीं।
दोनों के बीच अंतर मुख्य रूप से है कि क्या तरीके प्रकाशित इंटरफ़ेस का हिस्सा हैं या नहीं । प्रकाशित इंटरफ़ेस के मनमाने ढंग से हटाने वाले हिस्से उन उपभोक्ताओं के लिए एक अप्रिय आश्चर्य के रूप में आ सकते हैं जो इंटरफ़ेस पर निर्भर थे।
मैं एक्लेमम्मा से बात नहीं कर सकता, लेकिन मेरे अनुभवों में से एक चीज़ जो आपको सावधान रहने की आवश्यकता है, वह है प्रतिबिंब। यदि, उदाहरण के लिए, आप पाठ कॉन्फ़िगरेशन फ़ाइलों का उपयोग करते हैं कि कौन सी कक्षाएं / विधियों का उपयोग करने के लिए, उपयोग किए गए / अप्रयुक्त भेद स्पष्ट नहीं हो सकते हैं (मैं उस द्वारा जला दिया गया है)।
यदि आपकी परियोजना निर्भरता ग्राफ में एक पत्ती है, तो पदावनति का मामला कमजोर है। यदि आपकी परियोजना एक पुस्तकालय है, तो पदावनति का मामला अधिक मजबूत है।
यदि आपकी कंपनी मोनो-रेपो का उपयोग करती है , तो हटाएं मल्टी-रेपो मामले की तुलना में कम जोखिम है।
जैसा कि l0b0 द्वारा नोट किया गया है , यदि विधियां पहले से ही स्रोत नियंत्रण में उपलब्ध हैं, तो हटाने के बाद उन्हें पुनर्प्राप्त करना एक सीधे आगे का अभ्यास है। यदि आप वास्तव में ऐसा करने की आवश्यकता के बारे में चिंतित थे, तो अपने कमिट को व्यवस्थित करने के तरीके के बारे में कुछ सोचें ताकि आप हटाए गए परिवर्तनों को पुनर्प्राप्त कर सकें यदि आपको उनकी आवश्यकता है।
यदि अनिश्चितता काफी अधिक है, तो आप इसे हटाने के बजाय कोड को टिप्पणी करने पर विचार कर सकते हैं । यह खुशहाल पथ में अतिरिक्त काम है (जहां हटाए गए कोड को कभी भी पुनर्स्थापित नहीं किया जाता है), लेकिन यह पुनर्स्थापित करना आसान बनाता है। मेरा अनुमान है कि जब तक आप उस जोड़े द्वारा जलाए गए हैं, तब तक आपको एक सीधे हटाने को प्राथमिकता देना चाहिए, जो आपको इस संदर्भ में "अनिश्चितता" का मूल्यांकन करने के बारे में कुछ अंतर्दृष्टि देगा।
सवाल वे वहाँ क्यों हैं?
विद्या को कैप्चर करने में लगाया गया समय आवश्यक रूप से व्यर्थ नहीं जाता है। मुझे दो चरणों में एक निष्कासन करने के लिए जाना जाता है - सबसे पहले, एक टिप्पणी जोड़कर और यह बताते हुए कि हमने कोड के बारे में क्या सीखा है, और फिर बाद में कोड (और टिप्पणी) को हटा दिया।
आप स्रोत कोड के साथ विद्या पर कब्जा करने के तरीके के रूप में वास्तु निर्णय रिकॉर्ड के अनुरूप कुछ का उपयोग भी कर सकते हैं ।