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