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