सीधे शब्दों में कहें: कोड के भीतर चिंताओं का खराब पृथक्करण, ऐसे कोड की ओर जाता है जो मॉड्यूलर नहीं है, खराब पुन: उपयोग की ओर जाता है, डुप्लिकेट कोड की ओर जाता है।
यदि आप कार्यक्षमता को दोहराने की कोशिश नहीं करते हैं, तो आपको डुप्लिकेट कोड नहीं मिलेगा, और कई उदाहरण चर, समस्या नहीं होगी।
यदि आप कार्यक्षमता को दोहराने की कोशिश करते हैं, तो अखंड कोड, जो मॉड्यूलर नहीं है, का पुन: उपयोग नहीं किया जा सकता है। यह बहुत अधिक करता है और केवल वही करता है जो यह करता है। कुछ समान करने के लिए, लेकिन समान नहीं है, यह अखंड कोड को तोड़ने के बजाय, काटने और पेस्ट करने के लिए "आसान" है। अनुभव प्रोग्रामर जानते हैं कि डुप्लिकेट कोड नरक की सड़क है।
तो कई उदाहरण चर के रूप में ही समस्या का मूल कारण नहीं है यह एक मजबूत "गंध" है कि समस्या आ रही है।
भाषा "पीछे नहीं हो सकती है" यह कहने से कमजोर है कि "निश्चित रूप से पालन करना चाहिए" इसलिए लेखक यह दावा नहीं कर रहा है कि ऐसा होना चाहिए लेकिन अंततः होगा; यदि आपको कार्यक्षमता का पुन: उपयोग करने की आवश्यकता है लेकिन कोड मॉड्यूलर नहीं है।
n
बूलियन चर उदाहरण के लिए एक आंतरिक स्थिति बनाते हैं2^n
। अधिक बार नहीं, हालांकि आपकी वस्तु में कई अवलोकन योग्य राज्य नहीं हैं , लेकिन क्योंकि आपने उस सभी अवस्था को एक ही वस्तु में बदल दिया है, आंतरिक रूप से आपको अभी भी उन सभी को संभालना है।