इस के समान है:स्पष्टता के लिए समारोह से बूल के बजाय वापसी enum?
.NET: bool vs enum as a method parameter
लेकिन कुछ स्थितियों में एक समारोह से एक bool लौटने चिंताओं।
उदा। समारोह जो bool रिटर्न:
public bool Poll()
{
bool isFinished = false;
// do something, then determine if finished or not.
return isFinished;
}
इस तरह उपयोग किया:
while (!Poll())
{
// do stuff during wait.
}
इसके बुला संदर्भ क्या bool पोल से लौटे से स्पष्ट नहीं() का अर्थ है। कुछ तरीकों से यह स्पष्ट हो सकता है कि "पोल" फ़ंक्शन का नाम बदलकर "IsFinished()" रखा गया था, लेकिन विधि थोड़ा सा काम करती है, और (आईएमओ) वास्तव में यह नहीं दर्शाती कि वास्तव में कार्य क्या करता है। "Isfinished" जैसे नाम गुणों के लिए भी अधिक उपयुक्त लगते हैं। एक और विकल्प इसका नाम बदल सकता है जैसे: "PollAndReturnIsFinished" लेकिन यह सही नहीं लगता है।
तो एक विकल्प एक enum वापस करने के लिए हो सकता है। उदाहरण के लिए:
public enum Status
{
Running,
Finished
}
public Status Poll()
{
Status status = Status.Running;
// do something, then determine if finished or not.
return status;
}
इस तरह कहा जाता है:
while (Poll() == Status.Running)
{
// do stuff during wait.
}
लेकिन यह overkill की तरह लगता है। कोई विचार?
कोई बुरा सवाल नहीं है, लेकिन क्या आप कभी भी अपने अतिव्यापीकरण की तरह महसूस नहीं करते हैं? क्या आप अभी भी उत्पादक हैं यदि आप प्रत्येक छोटे से छोटे विवरण के बारे में सोच रहे हैं? – Konerak
'सार्वजनिक enum Bool {True, False, FileNotFound}' के बारे में कैसे? – fmark
@ कोनेरक - हाँ, आप सही हो सकते हैं। यह उन छोटी चीजों में से एक है जिसे मैं कभी-कभी चलाता हूं, और सोचता हूं कि क्या एक बेहतर, स्पष्ट तरीका था। –