मैं किसी प्रोजेक्ट पर एकमात्र डेवलपर हूं, जो किसी भी सॉफ्टवेयर प्रोजेक्ट के लिए, भविष्य में किसी और के द्वारा लिया जा सकता है।
मान लीजिए कि मैंने सुविधा ए को लागू करने के लिए पैटर्न X का उपयोग किया था। फीचर के विकास और परिष्करण के बाद, मुझे एहसास हुआ कि मैं पैटर्न वाई का उपयोग करके उसी सुविधा को लागू कर सकता हूं, जिसके बारे में मैंने अभी सीखा है। लेकिन सुविधा ए अच्छी तरह से काम कर रही है, और एक्स से वाई तक रिफैक्टिंग समय लेने वाली है और थोड़ा लाभ देती है।
तब यह सुविधा बी को लागू करने का समय है। यह ए के समान है, लेकिन इस बार मैं पैटर्न वाई के साथ खेलने का यह अवसर लेना चाहता हूं। मैं अंतिम परिणाम के बारे में खुश हूं, जब सुविधा ए की तुलना में बेहतर है, लेकिन अब मेरा कोड दो का उपयोग करता है अलग-अलग पैटर्न, एक्स और वाई, समान सुविधाओं के लिए।
लेकिन अलग-अलग पैटर्न का उपयोग करने का कोई वास्तविक कारण नहीं है, इस तथ्य को छोड़कर कि जब सुविधा ए का निर्माण किया गया था तो वह ए के समान पैटर्न का उपयोग करने के लिए पर्याप्त कुशल नहीं था।
ध्यान दें कि यह प्रश्न किसी समस्या के लिए सही पैटर्न चुनने के बारे में नहीं है ; यह समान समस्याओं को हल करने के लिए कोड बेस में दो पैटर्न सह-मौजूदा है, जिसे रिफ्लेक्टर के लिए पर्याप्त समय दिया जा सकता है।
- क्या वह कोड गंध है?
- स्रोत कोड को इस तरह रखने के नुकसान क्या हैं?
- क्या मुझे केवल एक पैटर्न का उपयोग करना चाहिए? यानी Y का उपयोग करने के लिए रिफ्लेक्टर A या B लिखते समय X का उपयोग करते रहें?
- कैसे, स्रोत में, मैं यह बता सकता हूं कि समान विशेषताओं के लिए दो अलग-अलग पैटर्न क्यों हैं, इसका कारण अनिवार्य रूप से कोई कारण नहीं है?
- क्या मुझे इस बात की बहुत चिंता है कि अगला डेवलपर मेरे कोड के बारे में क्या सोचता है?