उदाहरण के लिए।
boolean isCurrent = false;
आप इसके गेटटर और सेटर का क्या नाम रखते हैं?
उदाहरण के लिए।
boolean isCurrent = false;
आप इसके गेटटर और सेटर का क्या नाम रखते हैं?
जवाबों:
मान लो तुम्हारे पास है
boolean active;
एक्सेसर्स विधि होगी
public boolean isActive(){return this.active;}
public void setActive(boolean active){this.active = active;}
यह सभी देखें
hasCustomName
, अब मुझे इसके गेटटर और सेटर के तरीकों के लिए क्या नाम देना चाहिए ? है setHasCustomName[setter]
और hasCustomName[getter]
अच्छा है?
public boolean isCustomerName(){return this.customerName;} public void setCustomerName(boolean customerName){this.customerName= customerName;}
http://geosoft.no/development/javastyle.html#Specific
is
बूलियन चर और तरीकों के लिए उपसर्ग का उपयोग किया जाना चाहिए।
isSet
,isVisible
,isFinished
,isFound
,isOpen
यह जावा कोर पैकेज के लिए सन द्वारा उपयोग किए जाने वाले बूलियन तरीकों और चर के लिए नामकरण सम्मेलन है। उपसर्ग का उपयोग करना स्थिति या ध्वज जैसे खराब बूलियन नामों को चुनने की एक आम समस्या को हल करता है। isStatus या isFlag बस फिट नहीं है, और प्रोग्रामर को और अधिक सार्थक नाम चुनने के लिए मजबूर किया जाता है।
बूलियन चर के लिए सेटर विधियों में उपसर्ग निर्धारित होना चाहिए:
void setFound(boolean isFound);
उपसर्ग के कुछ विकल्प हैं जो उपसर्ग है जो कुछ स्थितियों में बेहतर है। ये उपसर्ग हैं, कर सकते हैं और चाहिए:
boolean hasLicense(); boolean canEvaluate(); boolean shouldAbort = false;
hasData
, तो सेटर कैसा दिखेगा? सबसे निश्चित रूप से, setData(bool hasData)
मेरे लिए भयानक रूप से गलत लगता है ...
has
, can
, should
उपसर्गों विनिर्देश का हिस्सा नहीं हैं। संदर्भ JavaBeans विनिर्देश 1.01 अनुभाग 8.3।
boolean isIsCurrent(){...}
अन्यथा ऑब्जेक्ट को डिस्क्राइब करने के लिए उपयोग किया जाने वाला ढांचा, के साथ शिकायत कर रहा था getter not found for property isCurrent
।
नाम वाले क्षेत्र के लिए isCurrent
, सही गेट्टर / सेटर का नामकरण setCurrent()
/ isCurrent()
(कम से कम यही ग्रहण सोचता है) है, जो अत्यधिक भ्रामक है और मुख्य समस्या का पता लगाया जा सकता है:
अपने क्षेत्र को isCurrent
पहली जगह में नहीं बुलाया जाना चाहिए । क्या कोई क्रिया है और क्रिया किसी वस्तु की स्थिति का प्रतिनिधित्व करने के लिए अनुपयुक्त हैं। इसके बजाय एक विशेषण का उपयोग करें, और अचानक आपके गेटटर / सेटर के नाम अधिक अर्थ लगाएंगे:
private boolean current;
public boolean isCurrent(){
return current;
}
public void setCurrent(final boolean current){
this.current = current;
}
get
उपसर्ग का उपयोग करने के लिए चूक करता है जब Boolean
is
boolean
शायद यह जवाब संशोधित करना शुरू करने का समय है? व्यक्तिगत तौर पर मैं के लिए मतदान होगा setActive()
और unsetActive()
(विकल्प हो सकता है setUnActive()
, notActive()
, disable()
, आदि संदर्भ के आधार पर) के बाद से "setActive" का अर्थ है कि आप इसे हर समय है, जो तुम नहीं पर सक्रिय करें। यह "setActive" कहने के लिए काउंटर की तरह सहज है, लेकिन वास्तव में सक्रिय स्थिति को हटा देता है।
एक और समस्या यह है, आप विशेष रूप से एक CQRS तरीके से एक SetActive घटना नहीं सुन सकते हैं, आपको एक 'setActiveEvent' को सुनने और यह निर्धारित करने की आवश्यकता होगी कि श्रोता वाइटर वास्तव में सक्रिय था या नहीं। या निश्चित रूप से निर्धारित करें कि कौन सी घटना को कॉल करते समय कॉल करना है setActive()
लेकिन फिर यह पृथक्करण की चिंता सिद्धांत के खिलाफ जाता है।
इस पर एक अच्छा पढ़ा है फ्लैगअर्टमेंट मार्टिन मार्टिन द्वारा लेख: http://martinfowler.com/bliki/FlagArgument.html
हालांकि, मैं एक PHP बैकग्राउंड से आता हूं और देखता हूं कि यह ट्रेंड ज्यादा से ज्यादा अपनाया जा रहा है। यह सुनिश्चित नहीं है कि यह जावा विकास के साथ कितना रहता है।
private boolean current;
public void setCurrent(boolean current){
this.current=current;
}
public boolean hasCurrent(){
return this.current;
}
has
पीओजेओ के लिए कुछ प्रसंस्करण के साथ बीओ या ऐसी सेवा के लिए उपयोग किया जाता है is
। और कृपया अपने उत्तर के बारे में कुछ विवरण जोड़ें।
Setter: public void setCurrent(boolean val)
Getter: public boolean getCurrent()
बूलियन्स के लिए भी आप उपयोग कर सकते हैं
public boolean isCurrent()
सेटर के रूप में, कैसे के बारे में:
// setter
public void beCurrent(boolean X) {
this.isCurrent = X;
}
या
// setter
public void makeCurrent(boolean X) {
this.isCurrent = X;
}
मुझे यकीन नहीं है कि अगर ये नामकरण देशी अंग्रेजी बोलने वालों के लिए समझ में आता है।