के अनुसार यह एक बूलियन पैरामीटर का उपयोग करने के व्यवहार का निर्धारण करने के लिए गलत है? , मैं एक व्यवहार निर्धारित करने के लिए बूलियन मापदंडों का उपयोग करने से बचने के महत्व को जानता हूं, जैसे:
मूल संस्करण
public void setState(boolean flag){
if(flag){
a();
}else{
b();
}
c();
}
नया संस्करण:
public void setStateTrue(){
a();
c();
}
public void setStateFalse(){
b();
c();
}
लेकिन इस मामले के बारे में कैसे व्यवहार के बजाय मूल्यों को निर्धारित करने के लिए बूलियन पैरामीटर का उपयोग किया जाता है? उदाहरण के लिए:
public void setHint(boolean isHintOn){
this.layer1.visible=isHintOn;
this.layer2.visible=!isHintOn;
this.layer3.visible=isHintOn;
}
मैं isHintOn ध्वज को खत्म करने और 2 अलग-अलग कार्यों को बनाने की कोशिश कर रहा हूं:
public void setHintOn(){
this.layer1.visible=true;
this.layer2.visible=false;
this.layer3.visible=true;
}
public void setHintOff(){
this.layer1.visible=false;
this.layer2.visible=true;
this.layer3.visible=false;
}
लेकिन संशोधित संस्करण कम रखरखाव योग्य लगता है क्योंकि:
यह मूल संस्करण की तुलना में अधिक कोड है
यह स्पष्ट रूप से नहीं दिखा सकता है कि layer2 की दृश्यता संकेत विकल्प के विपरीत है
जब एक नई परत (जैसे: परत 4) जोड़ी जाती है, तो मुझे जोड़ना होगा
this.layer4.visible=false;तथा
this.layer4.visible=true;setHintOn () और setHintOff () में अलग से
तो मेरा प्रश्न यह है कि यदि बूलियन पैरामीटर का उपयोग केवल मानों को निर्धारित करने के लिए किया जाता है, लेकिन व्यवहार नहीं (जैसे: उस पैरामीटर पर कोई और नहीं), तो क्या यह अभी भी उस बूलियन पैरामीटर को खत्म करने की सिफारिश की गई है?
setHint(boolean isHintOn)एक के रूप में निजी विधि, और जनता को जोड़ने setHintOnऔर setHintOffतरीकों कि क्रमशः फोन setHint(true)और setHint(false)।
setHint(true|false)। आलू आलू। कम से कम कुछ setHintऔर जैसे का उपयोग करें unsetHint।
isशुरुआत में लिखते हैं । isValidआदि तो दो शब्दों के लिए क्यों बदल? इसके अलावा, "अधिक प्राकृतिक" देखने वाले की आंखों में है। यदि आप इसे अंग्रेजी वाक्य के रूप में उच्चारण करना चाहते हैं, तो मेरे लिए "यदि इशारा है" "एक टक" के साथ "