समीक्षा करते समय, मुझे कभी-कभी इस तरह के लूप का सामना करना पड़ता है:क्या लूप में अंतिम तत्व एक अलग उपचार के लायक है?
i = begin
while (i != end) {
// ... do stuff
if (i == end-1 (the one-but-last element)) {
... do other stuff
}
increment i
}
फिर मैं सवाल पूछता हूं: क्या आप इसे लिखेंगे?
i = begin
mid = (end - begin)/2 // (the middle element)
while (i != end) {
// ... do stuff
if (i > mid) {
... do other stuff
}
increment i
}
मेरी राय में, यह एक लूप लिखने का इरादा रखता है: आप लूप क्योंकि प्रत्येक तत्व के लिए कुछ सामान्य करना है। इस निर्माण का उपयोग करके, कुछ तत्वों के लिए आप कुछ अलग करते हैं। इसलिए, मैंने निष्कर्ष निकाला है, आपको उन तत्वों के लिए एक अलग लूप की आवश्यकता है:
i = begin
mid = (end - begin)/2 //(the middle element)
while (i != mid) {
// ... do stuff
increment i
}
while (i != end) {
// ... do stuff
// ... do other stuff
increment i
}
अब मैंने if
को SO पर कैसे देखा है if
-clause को एक अच्छी तरह से लिखने के तरीके पर ... और मुझे दुख हुआ: कुछ ठीक नहीं है।
क्या मैं गलत हूँ? यदि हां, तो कोडिंग समय पर, विशेष मामलों के साथ लूप बॉडी को अव्यवस्थित करने के बारे में क्या अच्छा है, जिसे आप पहले से जानते हैं?
के मामले यह सब बहुत अच्छा है पर विचार करने देता है। मैं अपनी निजी कार्य शैली में सुधार कर सकता हूं। Thx –
"आप लूप क्योंकि प्रत्येक तत्व के लिए कुछ सामान्य करना है।" यह निर्भर करता है कि "कुछ" कितना सामान्य है। यह आम बात हो सकती है कि सभी तत्व कार हैं। कुछ नीले हैं, अन्य लाल हैं। यदि नीला है तो लाल रंग का चयन करें, अगर लाल हो तो पेंट करने के लिए लाल रंग चुनें। तो एक निश्चित बिंदु पर, लूप में निर्णय हालांकि समझ में आ सकते हैं। लेकिन किसी बिंदु पर, यह स्पष्ट हो जाएगा कि आपको लूप को विभाजित करना चाहिए। –
@peter_the_oak: मैं मानता हूं कि आप लूप में मिलने वाले मानों के आधार पर निर्णय लेते हैं, लेकिन सूचकांक पर आधारित नहीं हैं। – xtofl