मैं वास्तव में पुन: प्रयोज्य कोड के लिए सर्वोत्तम प्रथाओं है कि आसानी से डिबग है यह पता लगाने की कोशिश कर रहा हूँ में अशक्त के लिए जांच की जा रही। मैं डेवलपर्स के बीच एक आम प्रथा में भाग गया हूं कि मैं अभी तक समझ में नहीं आता हूं।निर्माता
public MyConstructor(Object myObject)
{
if (myObject == null)
throw new ArgumentNullException("myObject is null.");
_myObject = myObject;
}
यह लगभग इस चेक करने के लिए अनावश्यक लगता है। लेकिन मुझे लगता है क्योंकि मैं पूरी तरह से समझ में नहीं आता क्या इस चेक कर के क्या लाभ हैं बस। ऐसा लगता है कि एक शून्य संदर्भ अपवाद किसी भी तरह फेंक दिया जाएगा? मैं शायद गलत हूं, वास्तव में इस पर कुछ विचार सुनना चाहूंगा।
धन्यवाद।
आप जो कर रहे हैं वह आवश्यक नहीं है, आप ऑब्जेक्ट का संदर्भ देने से पहले यह सुनिश्चित करने के लिए जांच सकते हैं कि यह शून्य नहीं था। निश्चित रूप से यह सत्यापित करना कि जब आप अपनी ऑब्जेक्ट को इंटिलाइज्ड करते हैं तो आप एक बहुत ही वैध दृष्टिकोण है। –
@ रामहाउंड - यह संरचना का उपयोग करते समय डी फ्रेमवर्क का उपयोग करते समय यह एक आम तरीका है जहां आपको कन्स्ट्रक्टर में जो भी पारित किया गया है उस पर प्रत्यक्ष नियंत्रण नहीं है। यदि आपकी कक्षा 'myObject' के बिना बेकार है और इसे शुरू करने के लिए यह एकमात्र जगह है तो अपवादों को जितनी जल्दी हो सके फेंकना समझ में आता है ताकि आप उनके बारे में जान सकें। एक लंबे समय तक चलने वाले वेब ऐप में आपको इस मुद्दे के बारे में पता नहीं हो सकता है जब तक कोई व्यक्ति उस विधि को कॉल करने के लिए न हो जिसके लिए ऑब्जेक्ट की आवश्यकता होती है। –