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