मैं कई परियोजनाओं में सच्चे पाश के दौरान उपयोग करता हूं। यह मुझे अच्छी तरह से सेवा करता है और यह अधिक जटिल नहीं है। तो, वास्तविक लूप असीमित रूप से चल रही पृष्ठभूमि प्रक्रियाओं के दौरान उपयोग करना एक बुरा विचार क्यों है। आपके उत्तरों के लिए धन्यवाद।क्यों (सच) बुरा अभ्यास है?
उत्तर
मेरे परियोजना के नेता मेरी कोड में पाश इस तरह की अनुमति नहीं है, वह उनका तर्क है यह द्वारा
while(!exit_flag)
उसी बहस का मुद्दा है प्रतिस्थापित किया जाना है । while (!exit_flag)
बताता है कि लूप में प्राकृतिक निकास की स्थिति है जो यह किसी विशिष्ट बिंदु पर ही पहुंच जाएगी, उदा। कुछ 0 से 100 तक गिनती है और फिर लूप छोड़ती है। हालांकि, यदि आप एक स्थायी डेमॉन या इवेंट लूप बनाने के लिए इस लूप को लिख रहे हैं, तो इस लूप का बिंदु प्रोग्राम को अनिश्चित काल तक चलाना है। कुछ भी नहीं कहता अनिश्चित कालwhile (true)
से बेहतर है।
दोनों के बीच कोई वास्तविक तकनीकी अंतर नहीं है; यह केवल पठनीयता और इरादे की अभिव्यक्ति का मामला है। बेशक, आपको इसे उन लोगों के साथ स्क्वायर करना होगा जो अंत में उस कोड को पढ़ेंगे। यदि उनकी नीति while (!exit_flag)
है, तो हो।
यह एक बुरा अभ्यास नहीं है, इसका मतलब यह है कि आपने अपना कोड नहीं सोचा था।
लूपिंग को समाप्त करने के लिए लूप को बताने की स्थिति आवश्यक है। यदि आपके पास एक समापन बिंदु है, तो इसे एक शर्त के रूप में क्यों न रखें?
var i = 0;
while(true){
i++;
if(i == 100)
break;
}
यह ठीक कोड है। लेकिन अब यह है:
var i = 0;
while(i != 100){
i++;
}
दोनों ही तरीकों से सही हैं, लेकिन अगर किसी ने आपका कोड पढ़ रहा है, यह देखने के लिए जब पाश-बार दोहराना बंद हो जाएगा अगर यह हालत में सही नहीं है बहुत आसान है।
एचएम, उस व्यक्ति से पूछें जिसने दावा किया कि यह "एक बुरा विचार" था।
मैं क्या सोच सकता हूं कि किसी भी लूप को अनिश्चित काल तक चलना चाहिए, बेशक, आप निश्चित रूप से अपने प्रोग्राम को हमेशा के लिए चलाने की उम्मीद करते हैं।
यदि समय समाप्त करने के लिए कोई मानदंड नहीं दिया गया है, तो लूपिंग कोड के अंदर लूप छुपा हुआ कुछ भी समाप्त करने के लिए कुछ अन्य प्रकार की व्यवस्था की आवश्यकता होगी, जैसे रिटर्न, ब्रेक या (यक - बेसिक - लेकिन शायद यही वह जगह है जहां कथन उत्पत्ति - लूप को समाप्त करने के लिए लूप के बाहर कुछ "गोटो" कथन कूदते हैं)।
इस तरह के कोड को पढ़ने और डीबग करना मुश्किल हो सकता है, और पहले यह संकेत था कि एक प्रोग्रामर को स्वच्छ कोड लिखने के बारे में ज्यादा परवाह नहीं है। फिर भी आजकल संचालित चालित अनुप्रयोगों और संरचित त्रुटि प्रबंधन के साथ (देखें ... पकड़ें संरचनाएं) किसी भी प्रकार के लूप से बाहर निकलने के तरीकों को पढ़ने के लिए साफ और आसान तरीके हैं, इसलिए जबकि (सत्य) परेशानी के बिना उपयोग किया जा सकता है।
Greetz
अलीना
- 1. जावास्क्रिप्ट क्यों एक बुरा अभ्यास है?
- 2. क्या "अपवाद फेंकता है" बुरा अभ्यास?
- 3. क्यों यह सच है
- 4. यह सच क्यों है?
- 5. JFormattedTextField क्यों बुरा है?
- 6. क्यों नहीं यह सच है == यह सच है:
- 7. ऑटो मॉकिंग कंटेनर का उपयोग अच्छा या बुरा अभ्यास है?
- 8. जीएलयूटी इतना बुरा क्यों है?
- 9. क्यों -compile (export_all) खराब अभ्यास है?
- 10. क्यों है (18446744073709551615 == -1) सच है?
- 11. वस्तुओं के बीच परिपत्र संदर्भ एक बुरा अभ्यास है?
- 12. रेल I18n में आलसी लुकअप एक बुरा अभ्यास है?
- 13. पर्ल सोच -1 क्यों सच है?
- 14. यह अभिव्यक्ति क्यों सच होती है?
- 15. क्यों (0 == 'हैलो') PHP में सच है?
- 16. यह झूठी और सच क्यों लौटता है?
- 17. यह हालत क्यों सच होती है?
- 18. जावास्क्रिप्ट में "0 === -0" सच क्यों है?
- 19. स्ट्रिंग.StartsWith ("\ u2D2D") हमेशा सच क्यों होता है?
- 20. क्यों .find() हमेशा सच हो जाता है?
- 21. एक आवृत्ति विधि में एक स्थिर चर के लिए लिखना, यह एक बुरा अभ्यास क्यों है?
- 22. एसक्यूएल सर्वर में कर्सर का उपयोग करने के लिए इसे बुरा अभ्यास क्यों माना जाता है?
- 23. अपने कांटा की मास्टर शाखा को प्रतिबद्ध करने का बुरा अभ्यास क्यों है?
- 24. एक परिवर्तनीय वस्तु पर लॉक करना - इसे एक बुरा अभ्यास क्यों माना जाता है?
- 25. क्यों srand (समय()) एक बुरा बीज है?
- 26. थ्रेड को रोकना/रोकना क्यों बुरा है?
- 27. घड़ी() को बुरा क्यों माना जाता है?
- 28. जावा में डिफ़ॉल्ट हैशकोड() क्यों बुरा है?
- 29. [] ==! [] सच
- 30. डीबग = web.config = सच चीज़ में सच है?
'जबकि (सत्य) 'स्वाभाविक रूप से खराब अभ्यास नहीं है। 'जबकि (सत्य) 'के कुछ उपयोग खराब अभ्यास हैं, ज्यादातर व्यस्त-इंतजार करते हैं जहां अन्य प्रकार की प्रतीक्षा अधिक उपयुक्त होगी, लेकिन' जबकि (सत्य) 'के साथ कुछ भी गलत नहीं है। – user2357112
आप क्यों कहते हैं कि यह एक बुरा विचार है? – user2357112
जब तक आप जानते हैं कि आप क्या कर रहे हैं और आपके पास इससे बाहर निकलने का एक साफ तरीका है, यह एक बुरा अभ्यास नहीं है। – Morb