कम से कम, कक्षा में अपनी "बदबूदार" डेटा संरचना को लपेटें, ताकि आप किसी भी क्लाइंट कोड को स्टोरेज विवरण के बारे में कुछ भी बताए बिना डेटा को क्वेरी/संशोधित करने के लिए एक स्वच्छ एपीआई प्रदान करके अपने कार्यान्वयन को समाहित कर सकें।
फिर आप भविष्य में किसी भी समय डेटा संरचना के कार्यान्वयन को बदलने के लिए स्वतंत्र होंगे। यदि आप इसे अभी नहीं करते हैं, तो आपको बाद में खेद हो सकता है जब आपके पास 10 या 100 गुना अधिक ग्राहक कोड होता है, और यह रिएक्टर के लिए बहुत महंगा/दर्दनाक होता है।
आप पाते हैं कि जब तक आप इसे आसानी से encapsulated रखते हैं, और यह काम करता है, तथ्य यह है कि आप महसूस करते हैं कि यह गंध है वास्तव में प्रासंगिक नहीं है - जब तक कोड करता है जो इसे करने की जरूरत है और रखरखाव योग्य है, वहाँ इसमें कोई और समय निवेश नहीं कर रहा है।(मैं गंदे कोड को रखने की वकालत नहीं कर रहा हूं, लेकिन हमें सैद्धांतिक पूर्णता प्राप्त करने की हमारी इच्छा के विरुद्ध वाणिज्यिक वास्तविकताओं को संतुलित करना होगा - यदि कोड काम करता है और कोई समस्या नहीं पैदा कर रहा है, तो यह हमेशा आपके समय का अच्छा उपयोग नहीं हो सकता है इसे सुधारें या दोबारा दोहराएं। इसके बजाय, आप पाते हैं कि इसे कक्षा में encapsulating द्वारा जोखिम को बेअसर करना और अपने ग्राहकों से गंदे कार्यान्वयन को अलग करना अब के लिए पर्याप्त है)
स्रोत
2011-11-24 23:37:56
मुझे लगता है कि यह एक कोड गंध है, लेकिन आप एक उत्थान के लायक हैं उस आत्म-जागरूकता के लिए – jwiscarson
क्या यह "यो डॉग .." कहने की अनुमति है? : पी – bertzzie
@bertzzie: मैंने खुद के बारे में सोचा, लेकिन एक उचित मजाकिया व्यक्ति के साथ नहीं आ सकता क्योंकि मैं अपने नए हीरे को पॉलिश करने में बहुत व्यस्त हूं :) – BoltClock