जब संभव हो .. क्या आप रूबी में या बाहर कोष्ठक छोड़ते हैं?
जब संभव हो .. क्या आप रूबी में या बाहर कोष्ठक छोड़ते हैं?
जवाबों:
रूबी आपको सामान्य रूप से कोष्ठक छोड़ने की अनुमति देता है, इस प्रलोभन का विरोध करता है।
कोष्ठक कोड का पालन करना आसान बनाता है। सामान्य रूबी शैली निम्नलिखित मामलों को छोड़कर, उनका उपयोग करने के लिए है:
- हमेशा खाली कोष्ठक छोड़ दें
- कोष्ठक ईआरबी सीमांकक से घिरे एक एकल आदेश से बाहर रह सकते हैं - ईआरबी मार्कर यह सुनिश्चित करते हैं कि कोड अभी भी पठनीय है
- एक पंक्ति जो एक एकल आदेश है और एक एकल सरल तर्क को कोष्ठक के बिना लिखा जा सकता है। व्यक्तिगत रूप से, मुझे लगता है कि मैं इसे कम और कम करता हूं, लेकिन यह अभी भी पूरी तरह से पठनीय है। मैं नियमित रूप से रूबी कोड में एकल लाइनों को पसंद नहीं करता हूं जिसमें कई तर्क और कोई कोष्ठक नहीं हैं।
- बहुत सारे रूबी-आधारित डोमेन स्पेसिफिक लैंग्वेजेस (जैसे रेक) अपने बयानों में अधिक प्राकृतिक भाषा के एहसास को संरक्षित करने के लिए कोष्ठक का उपयोग नहीं करते हैं।
मैं भविष्य में मेरी मदद करने के लिए टिप्पणी के रूप में parens का उपयोग करता हूं ... जो वर्तमान में मेरे मुकाबले कम मस्तिष्क कोशिकाओं की संभावना है :-)
2 साल पहले आपके द्वारा लिखे गए कुछ कोड को देखने और इसे गलत समझने से बुरा कुछ नहीं है, ताकि आप इसे संशोधित करते समय कुछ तोड़ दें।
यदि भविष्य में मुझे भविष्य में कुछ मिनट (या घंटे) की बचत होगी, तो मैं कथन को स्पष्ट करने के लिए आवश्यकता के अनुसार डालूँगा।
यदि आप फ़ंक्शन कॉल का मतलब रखते हैं, तो मैं हमेशा कोष्ठक लगाता हूं क्योंकि इसे पढ़ना हमेशा आसान होता है। यदि आप परिस्थितियों में मतलब रखते हैं (यदि, जबकि) मैं केवल आवश्यक होने पर कोष्ठक लगाता हूं।
जब मैं इस तरह के दावे assert_equal करते हैं तो मैं उन्हें छोड़ देता हूं। हो सकता है कि वह इसे डोमेन विशिष्ट भाषा की तरह बना दे।
यदि आप लंबे समय से प्रोग्रामिंग कर रहे हैं, तो संभवतः आपको कोष्ठक जोड़ने के लिए एक "खुजली" होगा, और कई मामलों में इसके लिए अच्छे कारण हैं।
हालांकि मेरी राय में यह कोड आंखों पर आसान है, और मैं अभी तक एक समस्या में नहीं चला हूं - यदि आपको कोष्ठक की आवश्यकता है, तो आपको पहले ही पता चल जाएगा कि आपको डिबगिंग स्क्रिप्ट में भाग लेना है।
if owner.is_a? thing //worked fine
if owner.is_a? thing && x > 1 //not fine
मैं केवल कुछ हफ़्ते के लिए रूबी सीख रहा हूं और जहां मैं काम करता है सबसे कम संभव अक्षर का उपयोग करता है और यदि आप किसी अन्य भाषा से आते हैं, तो एक सीख है यह जानने के लिए कि जब आप एक इंपीटिशन हैश, प्रतीकों की एक सरणी, एक समारोह में प्रतीकों को पारित कर रहे हैं ... मैं एक प्रशंसक नहीं हूं।
if owner.is_a? thing and x > 1
and
में एक ही ऑपरेटर पूर्वता नहीं है जो &&
है