मुझे यह कहकर शुरू करना है कि मैं इस दृष्टिकोण की वकालत नहीं करता हूं, लेकिन मैंने हाल ही में इसे देखा और मैं सोच रहा था कि इसके लिए कोई नाम था या नहीं, तो मैं दोषी पार्टी को इंगित करने के लिए उपयोग कर सकता था। तो यहाँ जाता है।क्या इस विरोधी-पैटर्न/कोड गंध के लिए कोई नाम है?
अब आपके पास एक विधि है, और आप एक मूल्य वापस करना चाहते हैं। आप भी एक त्रुटि कोड वापस करना चाहते हैं। बेशक, अपवाद एक बेहतर विकल्प हैं, लेकिन किसी भी कारण से आप इसके बजाय एक त्रुटि कोड चाहते हैं। याद रखें, मैं यहाँ शैतान के वकील खेल रहा हूं। तो अगर आप एक सामान्य वर्ग बनाने के इस तरह:
class FunctionResult<T>
{
public T payload;
public int result;
}
और फिर इस तरह अपने कार्यों की घोषणा:
इस पैटर्न परFunctionResult<string> MyFunction()
{
FunctionResult<string> result;
//...
return result;
}
एक बदलाव एक स्ट्रिंग के बजाय त्रुटि कोड के लिए एक enum उपयोग करने के लिए है । अब, मेरे प्रश्न पर वापस: क्या इसके लिए कोई नाम है, और यदि ऐसा है तो यह क्या है?
"कोई भी जो बेवकूफ नहीं है वह एक हथौड़ा के साथ मेरी अंगुलियों को तोड़ने जा रहा है जब वे इसे" पैटर्न देखते हैं। लेकिन यह सभी एंटीपेटर्न पर बहुत अधिक लागू होता है। – Will
यदि यह एक विरोधी पैटर्न है, तो उन भाषाओं के लिए सिफारिश क्या है जो सीधे अपवादों का समर्थन नहीं करते हैं (मैं वीबी/वीबीए के बारे में सोच रहा हूं)। –
यदि वे अपवादों का समर्थन नहीं करते हैं, तो वे शायद टेम्पलेट्स/जेनेरिक का समर्थन नहीं करते हैं। –