मैं कोड लिखना चाहता हूं जो दूसरों को आसानी से समझ सकता है।बूलियन विशेषताओं के लिए नामकरण सम्मेलन
क्या hide_email
या email_hidden
जैसे बूलियन गुणों की एक परंपरा शैली है?
मैं कोड लिखना चाहता हूं जो दूसरों को आसानी से समझ सकता है।बूलियन विशेषताओं के लिए नामकरण सम्मेलन
क्या hide_email
या email_hidden
जैसे बूलियन गुणों की एक परंपरा शैली है?
मैंने पढ़ा चाहते हैं इस तरह सोचें:
is <attribute_name>
पूरा करना चाहिएis
क्योंकि रूबी के लिए ?
प्रत्यय पसंद हटाने शैली विधि के नाम "है" (अधिक के लिए नीचे देखें), बस email_hidden
तो, अपने विशिष्ट मामले के लिए, इस तरह से अपनी विशेषता का नाम: सवाल "ईमेल छिपा हुआ है" के साथ
email_is_hidden
के रूप में प्रदर्शित किया जा सकता है।is
निकालें और आप के साथ छोड़ दिया रहे email_hidden
?
में समाप्त होता है) अपने बूलियन विशेषता का और रिटर्न true
/false
अपेक्षा के अनुरूप परिभाषित करता है।इसलिए, जब आपकी विशेषता डेटाबेस में email_hidden
नामित है, तो आपको स्पष्टता के लिए अपने कोड में email_hidden?
के रूप में संदर्भित करना चाहिए और रेलवे सम्मेलन पर रूबी है।यह email_hidden?
होगा। रूबी समुदाय ने इसका उपयोग किया है।
कृपया अंत में ?
पर ध्यान दें।
मुझे लगता है कि आप एक प्रश्न चिह्न के साथ विशेषता को बचाने का मतलब नहीं है? मुझे पता है कि रेल में आप सभी विशेषताओं को एक प्रश्न चिह्न के साथ कॉल कर सकते हैं। –
मैं देखता हूं कि आपका क्या मतलब है। मैंने सोचा था कि आपके पास एक बुलियन विशेषता थी जो अन्य पूछना चाहती थी। नहीं, आप 'email_hidden' या 'email_hidden?' को एक सेटर विधि के रूप में उपयोग नहीं करना चाहते हैं। आप इसे छिपाने वाली विधि के लिए 'hide_email' जैसी क्रिया का उपयोग करना चाहते हैं और इसे 'ईमेल_hidden =' दूसरों को आपके लिए सेट करने की अनुमति देने के लिए करना चाहते हैं। – Uzbekjon
वे जिस तरह से आपने सवाल पूछा ... ऐसा लगता है कि आप एक ईमेल की स्थिति की जांच करने के लिए एक बूलियन विधि के बारे में बात कर रहे हैं, न कि इसे छिपाने की प्रक्रियाओं को निष्पादित करने के तरीके के बारे में नहीं, और सफलता के मामले में सफलता और झूठी स्थिति में विफलता। –
नाम के इन दो उदाहरण लेते हुए आप दिया:
hide_email
एक विधि इस तरह के एक कार्य के लिए एक अच्छा नाम, एक विधि है कि सभी प्रक्रियाओं को निष्पादित करता है आपके सिस्टम के दायरे में एक ई-मेल को छिपाने के लिए किया जाएगा । लेकिन यह एक ई-मेल की स्थिति लौटने वाली बुलियन विधि के लिए कभी भी अच्छा नाम नहीं होगा।email_hidden?
, अंत में एक प्रश्न चिह्न (?) के साथ, एक बूलियन विधि के लिए सही नाम होगा जो इंगित करता है कि ई-मेल छिपा हुआ है या नहीं।यदि आप वास्तव में अच्छा कोड लिखना चाहते हैं तो रूबी सम्मेलनों पर विचार करें। आपके सिस्टम में प्रक्रियाओं के बारे में सोचते समय भी वे आपकी मदद करेंगे।
प्रश्न चिह्न चर में नहीं हो सकते हैं, केवल विधि नाम –
@ मैक्सप्लेनर ने कहा। मैंने इसे बूलियन के बाद "विधि" शब्द डालने के लिए संपादित किया। –
रूबी कोड smeels ने कहा कि सभी बुलियन विधियों के साथ खत्म होना चाहिए?
सक्रिय रिकॉर्ड पर आप देख सकते हैं
User.valid?
या माणिक में आप
[].nil?
[].empty?
मिल सकता है आप को पता है रूबी के सम्मेलनों के बारे में इस
http://blogs.visoftinc.com/2010/04/12/ruby-beauty-method-naming-conventions/
रूबी में आप 'obj.is_a? (कुछ)' या 'हैश.has_key? (: Foo) देख सकते हैं। यह कहने के लिए कि 'is_XXX?' या 'has_XXX? 'का उपयोग करना स्वीकार्य है जब आप' self' –
प्रश्न चिह्न बूलियन विधियों के लिए एक अच्छी प्रणाली है, लेकिन इसका उपयोग चर नामों में नहीं किया जा सकता है। –