ठीक है, मैं जिस उपाय का उपयोग करता हूं, या यह सोचना पसंद करता हूं कि मैं उपयोग करता हूं, क्या यह है:
प्रत्येक स्वतंत्र, एकल, एक-पंक्ति, टेक-इट-लीव-इट-फंक्शनल आवश्यकता के लिए, इसे लागू करने से पहले कोड बेस को स्नैपशॉट दें। फिर इसे लागू करें, प्रक्रिया में पेश किए गए किसी भी कीड़े को खोजने और ठीक करने सहित। फिर diff
से पहले और बाद में कोड बेस के बीच चलाएं । diff
आप सभी सम्मिलन, हटाने और संशोधनों कि परिवर्तन लागू की एक सूची दिखाई देगा। (कोड की 10 लगातार पंक्तियाँ सम्मिलित करना एक परिवर्तन है।) कितने परिवर्तन हुए? वह संख्या जितनी छोटी होती है, आमतौर पर, कोड उतना ही अधिक बनाए रखने योग्य होता है।
मैं स्रोत कोड के अतिरेक को कहता हूं , क्योंकि यह त्रुटि-सुधार कोड की अतिरेक की तरह है। जानकारी 1 चंक में निहित थी, लेकिन एन चंक्स के रूप में एन्कोड किया गया था, जिसे सभी को एक साथ किया जाना है, सुसंगत होना।
मुझे लगता है कि यह DRY के पीछे का विचार है, लेकिन यह थोड़ा अधिक सामान्य है। इसका कारण यह है कि गिनती कम होना अच्छा है, अगर यह एक विशिष्ट आवश्यकता को लागू करने के लिए एन में परिवर्तन करता है, और एक निंदनीय प्रोग्रामर के रूप में आपको केवल एन -1 या एन -2 मिलता है, जो पहले सही ढंग से किया गया है, तो आपने इसमें डाल दिया है। 1 या 2 कीड़े। O (N) प्रोग्रामिंग प्रयास के शीर्ष पर, उन बग्स की खोज, स्थित और मरम्मत की जानी है। इसलिए छोटा एन अच्छा है।
जरूरी नहीं कि पठनीय का मतलब एक प्रोग्रामर से हो, जिसने यह नहीं सीखा हो कि कोड कैसे काम करता है। ऑप्टिमाइज़िंग एन को कुछ ऐसी चीजें करने की आवश्यकता हो सकती है जो प्रोग्रामर के लिए सीखने की अवस्था बनाएं।
यहाँ एक उदाहरण है।
एक चीज जो मदद करती है वह यह है कि प्रोग्रामर भविष्य के बदलावों का अनुमान लगाने की कोशिश करता है और प्रोग्राम की कमेंट्री में दिशा-निर्देश कैसे छोड़ देता है।
मुझे लगता है कि जब एन काफी दूर हो जाता है (इष्टतम 1 है) स्रोत कोड एक डोमेन-विशिष्ट-भाषा (डीएसएल) की तरह अधिक पढ़ता है। यह कार्यक्रम समस्या को इतना "हल" नहीं करता है क्योंकि यह समस्या को "बताता है", क्योंकि आदर्श रूप से प्रत्येक आवश्यकता को कोड के एक ही टुकड़े के रूप में पुनर्स्थापित किया जाता है।
दुर्भाग्य से, मैं लोगों को यह नहीं सीखा कि यह कैसे करना है। बल्कि उन्हें लगता है कि मानसिक संज्ञाएं कक्षाएं बन जानी चाहिए, और क्रियाएं विधियां बन जाती हैं, और वे जो कुछ भी करते हैं वह क्रैंक है। मेरे अनुभव में 30 या उससे अधिक एन के साथ कोड में परिणाम है।