मुझे उदाहरण नहीं पसंद है। 1, ith जेनेरिक नाम का bcause।
conditionMet
यह सामान्य नहीं लगता है, इसलिए यह एक विशिष्ट स्थिति के लिए खड़ा है? पसंद
isAdult () = {
age >= 18
}
यह ठीक रहेगा। यह एक अर्थगत अंतर है, जबकि
isAtLeast18 () { age >= 18; }
मेरे लिए ठीक नहीं होगा।
शायद इसका उपयोग अक्सर किया जाता है, और बाद में बदलाव के लिए विषय हो सकता है:
getPreferredIcecream () { return List ("banana", "choclate", "vanilla", "walnut") }
ठीक भी है। कई बार इसका उपयोग करते हुए, आपको बस एक जगह बदलने की जरूरत है, अगर आपको - शायद कल व्हीप्ड क्रीम संभव हो।
isXYZ (Foo foo) { foo.x > 15 && foo.y < foo.x * 2 }
परमाणु नहीं है, और आपको एक अच्छा परीक्षण अवसर देना चाहिए।
यदि आपको कोई फ़ंक्शन पास करने की आवश्यकता है, तो निश्चित रूप से, जो भी आपको पसंद है उसे पास करें, और अन्यथा मूर्खतापूर्ण कार्यों को लिखें।
लेकिन सामान्य तौर पर, मैं बहुत अधिक कार्य देखता हूं, जो बहुत लंबे हैं, उन कार्यों की तुलना में जो बहुत कम हैं।
एक अंतिम शब्द: कुछ कार्य केवल उचित लगते हैं, क्योंकि वे बहुत अधिक लिखित होते हैं:
function lessThan (a, b) {
if (a < b) return true else return false;
}
यदि आप देखते हैं, कि यह जैसा है वैसा ही है
return (a < b);
आपको कोई समस्या नहीं होगी
localLessThan = (a < b);
के बजाय
localLessThan = lessThan (a, b);
Assert.AreEqual<int>(expected, actual, message, arg1, arg2, arg3, ...);
। दूसरा जैसा है ठीक है। मैं संभावित रूप से एक वैकल्पिक बूल ध्वज शामिल करूंगा, जो यह अपवाद करेगा कि क्या अपवाद / आदि को फेंकना है। कॉलबैक एक कार्य नहीं है।