मुझे इस तरह की चीजों को अनुकूलित करने के बारे में टिप्पणियां पसंद हैं, इसे थोड़ा और जोड़ने के लिए ...
केवल समय मैं यह समझ में आता है कि लगता है कि कर सकते हैं अपने अनुकूलन करने के लिए करता है, तो बयान है आप दो या अधिक दीर्घाकार चल तरीकों कुछ और करने का निर्धारण करने के लिए संयुक्त करने की आवश्यकता है के परिणाम है जब। यदि आप पहले ऑपरेशन को परिणाम देते हैं तो आप केवल दूसरे ऑपरेशन को निष्पादित करना चाहते हैं जो स्थिति को पारित करेगा। सबसे पहले झूठी वापसी की संभावना रखने वाले व्यक्ति को आम तौर पर एक बेहतर विकल्प होगा। ऐसा इसलिए है क्योंकि यदि यह गलत है, तो दूसरे का मूल्यांकन नहीं किया जाएगा। फिर, केवल परिचालन महत्वपूर्ण हैं कि परिचालन महत्वपूर्ण हैं और आप भविष्यवाणी कर सकते हैं कि पास होने या विफल होने की अधिक संभावना है। इसे OR के लिए उलटा करें ... यदि सही है, तो यह केवल पहले मूल्यांकन करेगा, और इस तरह अनुकूलित करें। अर्थात
if (ThisOneUsuallyPasses() && ThisOneUsuallyFails())
रूप
if (ThisOneUsuallyFails() && ThisOneUsuallyPasses())
तो अच्छा है क्योंकि यह केवल अजीब मामला है कि पहले एक वास्तव में काम करता है आप दूसरे को देखने के लिए है पर है नहीं है। इसके कुछ अन्य स्वाद हैं जो आप प्राप्त कर सकते हैं, लेकिन मुझे लगता है कि आपको बिंदु प्राप्त करना चाहिए।
स्ट्रिंग, संग्रह, आपके डेटाबेस को इंडेक्स करने और ऑब्जेक्ट आवंटित करने के बारे में चिंता करने के लिए बेहतर है, यदि आप पर्फ के बारे में चिंता कर रहे हैं तो बयान के बारे में चिंता करने में बहुत समय व्यतीत करें।
सामान्यतः, आप जो निचला कोड देते हैं, वह आपको एक कथन के अंदर कोड के विशाल ब्लॉक से बचने का मौका देता है जो मूर्खतापूर्ण टाइपो संचालित त्रुटियों का कारण बन सकता है। पुरानी स्कूल सोच यह थी कि आपको केवल एक बिंदु होना चाहिए कि आप कोडर त्रुटि की एक अलग नस्ल से बचने के लिए एक विधि से वापस आएं। वर्तमान सोच (कम से कम कुछ उपकरण विक्रेताओं जैसे जेटब्रेन रिशेर्पर, आदि) ऐसा लगता है कि सशर्त बयान के अंदर कम से कम कोड को लपेटना बेहतर है। उससे कहीं ज्यादा कुछ व्यक्तिपरक होगा इसलिए मैं इसे छोड़ दूंगा।
स्रोत
2009-12-11 23:05:56
यदि आपको लगता है कि यह सिफारिश प्रदर्शन में सुधार के साथ कुछ भी करने के लिए है तो आपको गुमराह किया गया है। यह वास्तव में एक गार्ड क्लॉज है जो आपकी विधि में कोड पथों की संख्या को कम करने में मदद करता है। यह बदले में जटिलता को कम करता है और परीक्षण और रखरखाव को आसान बनाता है। – Ash
संभावित डुप्लिकेट: http: // stackoverflow।कॉम/प्रश्न/268132/ – CMS