इस सवाल से मुझे stackoverflow.com पर यह विचार आया
निम्नलिखित पैटर्न आम है:
final x = 10;//whatever constant value
for(int i = 0; i < Math.floor(Math.sqrt(x)) + 1; i++) {
//...do something
}
मैं जिस बिंदु को बनाने की कोशिश कर रहा हूं वह है सशर्त बयान कुछ जटिल है और यह बदलता नहीं है।
क्या लूप के आरंभीकरण अनुभाग में इसे घोषित करना बेहतर है, जैसे?
final x = 10;//whatever constant value
for(int i = 0, j = Math.floor(Math.sqrt(x)) + 1; i < j; i++) {
//...do something
}
क्या यह अधिक स्पष्ट है?
क्या होगा अगर सशर्त अभिव्यक्ति सरल है जैसे कि
final x = 10;//whatever constant value
for(int i = 0, j = n*n; i > j; j++) {
//...do something
}
x
परिमाण में बड़ा है, Math.floor(Math.sqrt(x))+1
के बराबर है Math.floor(Math.sqrt(x))
। :-)
{ x=whatever; for (...) {...} }
या, बेहतर अभी तक, विचार करें कि क्या पर्याप्त चल रहा है कि इसे एक अलग फ़ंक्शन होने की आवश्यकता है।