एक पुस्तकालय बनाते समय, क्या मुझे यह सुनिश्चित करना चाहिए कि निजी विधियों को उसी वर्ग के अन्य तरीकों से नहीं, बल्कि प्रतिबिंब के रूप में किसी अन्य पुस्तकालय द्वारा बुलाए जाने पर अपेक्षित रूप से काम करना चाहिए ?
उदाहरण के लिए, यदि कोई निजी विधि यह private DoSomething(int number)अपेक्षा करती है:
numberएक सकारात्मक गैर-शून्य पूर्णांक है, और:- एक निजी चर
string abcशून्य नहीं है और एक खाली स्ट्रिंग नहीं है,
और पूरी तरह से, बदसूरत विफल रहता है यदि उन दो स्थितियों का मिलान नहीं किया जाता है, तो क्या मुझे उन विफलताओं को संभालना चाहिए, भले ही मुझे पता हो कि कक्षा में सभी तरीके हमेशा कॉल करने से पहले एक गैर-रिक्त मान असाइन करेंगे , और इसके लिए एक सकारात्मक गैर-शून्य पूर्णांक पास करेंगे तरीका?abcDoSomething
दूसरे शब्दों में, क्या वह कोड है जो प्रतिबिंब के माध्यम से असुरक्षित कॉल के खिलाफ सुरक्षित नहीं है , इसे निम्न गुणवत्ता कोड माना जा सकता है , या यह उस कॉलर से संबंधित है जो प्रतिबिंब का उपयोग करता है यह सुनिश्चित करने के लिए कि कॉल कुछ भी नहीं तोड़ती है?
नोट: मेरा प्रश्न केवल पुस्तकालयों के एक मानक सेट को शामिल करता है। यह कोड को कवर नहीं करता है जो अत्यधिक सुरक्षित होना चाहिए (यानी जब कोई व्यक्ति अप्रत्याशित रूप से या दुर्घटना का व्यवहार करने के लिए प्रतिबिंब का उपयोग करके दिलचस्पी ले सकता है)।
¹ क्योंकि वर्ग सही ढंग से प्रलेखित है, क्योंकि यह सुनिश्चित करने के लिए पर्याप्त इकाई परीक्षण हैं कि कोई अन्य डेवलपर इस पद्धति को नहीं तोड़ देगा, आदि।