मैं एकाधिक परिणाम मानों के साथ एक विधि के लिए फायदे और नुकसान खोजने की कोशिश कर रहा हूं।बेस्ट प्रैक्टिस रिटर्न वैल्यू बनाम अपवाद बनाम एनम
उदाहरण के लिए मैं लॉगिन-विधि का उपयोग कर रहा हूं। अगर लॉगिन सफल हुआ, तो यह गुजर जाएगा, अन्यथा मुझे यह जानना होगा कि यह क्यों विफल हुआ।
1. वापसी सही या गलत (नहीं पर्याप्त जानकारी)
bool Login(string user, string password);
2. वापसी सच है, अगर यह सफल रहा था, अन्यथा एक अपवाद
public class UnknownUserException : Exception { }
public class WrongPasswordException : Exception { }
bool Login(string user, string password);
3 फेंक देते हैं। कुछ भी वापस नहीं। , एक अपवाद फेंक अगर यह सफल
public class UnknownUserException : Exception { }
public class WrongPasswordException : Exception { }
void Login(string user, string password);
4. नहीं था वापसी एक enum मूल्य
enum LoginResult
{
Successful
UnknownUser,
WrongPassword
}
LoginResult Login(string user, string password);
"लॉगिन" सिर्फ एक उदाहरण मामला है। मैं जानना चाहता हूं कि विभिन्न कार्यान्वयन के फायदे और नुकसान क्या हैं, और किस मामले के लिए वे कम या ज्यादा उपयुक्त हैं।
1 और 2 स्पष्ट रूप से विचार के लायक नहीं हैं। # 3 इस बात की नस में है कि चीजें आम तौर पर कैसे की जाती हैं, लेकिन यह पहचानने के लिए सुसज्जित एकमात्र व्यक्ति शायद आपके मामले में # 4 अधिक उपयुक्त है। – Jon
एपीआई तुल्यकालिक या async है? –
तुल्यकालिक, क्षमा करें :) – Jan