[अस्वीकरण: यह प्रश्न व्यक्तिपरक है, लेकिन मैं तथ्यों और / या प्रतिसाद द्वारा समर्थित उत्तर प्राप्त करना पसंद करूंगा]
मुझे लगता है कि हर कोई रोबस्टनेस सिद्धांत के बारे में जानता है , आमतौर पर डाक कानून द्वारा अभिव्यक्त किया गया है:
जो आप भेजते हैं उसमें रूढ़िवादी रहें; आप जो स्वीकार करते हैं, उसमें उदारता बरतें।
मैं सहमत हूँ कि व्यापक संचार प्रोटोकॉल के डिजाइन के लिए यह समझ में आ सकता है (आसान विस्तार की अनुमति देने के लक्ष्य के साथ), हालांकि मैंने हमेशा सोचा है कि HTML / CSS के लिए इसका आवेदन कुल विफलता थी, प्रत्येक ब्राउज़र अपने स्वयं के चुप ट्विन को लागू करता है। पता लगाना / व्यवहार करना, कई ब्राउज़रों में एक सुसंगत प्रतिपादन प्राप्त करना असंभव बना देता है।
मैं हालांकि नोटिस करता हूं कि वहां टीसीपी प्रोटोकॉल का आरएफसी "साइलेंट फेल्योर" स्वीकार करता है जब तक कि अन्यथा निर्दिष्ट न हो ... जो कि कम से कम कहने के लिए एक दिलचस्प व्यवहार है।
सॉफ़्टवेयर ट्रेड भर में इस सिद्धांत के अनुप्रयोग के अन्य उदाहरण हैं जो नियमित रूप से पॉप अप करते हैं क्योंकि उनके सिर के ऊपर से, काटे गए डेवेलपर्स हैं:
- जावास्क्रिप्ट अर्ध-बृहदान्त्र सम्मिलन
- सी (चुप) बिलियन रूपांतरण (जो खराब नहीं होगा अगर इसे छोटा नहीं किया जाता ...)
और "स्मार्ट" व्यवहार को लागू करने में मदद करने के लिए उपकरण हैं:
- नाम का मेल ध्वन्यात्मक एल्गोरिदम ( डबल मेटाफोन )
- स्ट्रिंग दूरी एल्गोरिदम ( लेवेंसहाइट दूरी )
हालाँकि मुझे लगता है कि यह दृष्टिकोण, जबकि यह गैर-तकनीकी उपयोगकर्ताओं के साथ काम करते समय या त्रुटि सुधार की प्रक्रिया में उपयोगकर्ताओं की मदद करने में मददगार हो सकता है, पुस्तकालय / कक्षाओं के इंटरफेस के डिजाइन पर लागू होने पर कुछ कमियां हैं:
- यह कुछ हद तक व्यक्तिपरक है कि क्या एल्गोरिथ्म "सही" अनुमान लगाता है, और इस प्रकार यह सिद्धांत के सिद्धांत के खिलाफ जा सकता है
- यह कार्यान्वयन को और अधिक कठिन बना देता है, इस प्रकार बग्स ( YAGNI का उल्लंघन ) शुरू करने की अधिक संभावना है ?
- यह व्यवहार को बदलने के लिए अतिसंवेदनशील बनाता है, क्योंकि "अनुमान" दिनचर्या का कोई भी संशोधन पुराने कार्यक्रमों को तोड़ सकता है, लगभग शुरू होने वाली संभावनाओं को छोड़कर ...!
और यही मुझे निम्नलिखित प्रश्न की ओर ले गया:
जब एक इंटरफ़ेस (पुस्तकालय, कक्षा, संदेश) डिजाइन करते हैं, तो क्या आप मजबूती के सिद्धांत की ओर झुकते हैं या नहीं?
मैं स्वयं अपने इंटरफेस पर व्यापक इनपुट सत्यापन का उपयोग करते हुए काफी सख्त हो जाता हूं, और मैं सोच रहा था कि क्या मैं शायद बहुत सख्त था।