মতে আচরণ নির্ধারণের জন্য বুলিয়ান প্যারামিটার ব্যবহার করা কি ভুল? , আমি কোনও আচরণ নির্ধারণের জন্য বুলিয়ান প্যারামিটারগুলি ব্যবহার এড়ানোর গুরুত্ব জানি eg
মূল সংস্করণ
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;
}
আমি হিটঅন পতাকাটি অপসারণ এবং 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;
}
তবে পরিবর্তিত সংস্করণটি কম রক্ষণাবেক্ষণযোগ্য বলে মনে হচ্ছে কারণ:
এটির মূল সংস্করণটির চেয়ে বেশি কোড রয়েছে
এটি পরিষ্কারভাবে দেখাতে পারে না যে স্তর 2 এর দৃশ্যমানতা ইঙ্গিত বিকল্পের বিপরীতে
যখন একটি নতুন স্তর (উদা: স্তর 4) যুক্ত করা হয় তখন আমার যুক্ত হওয়া দরকার
this.layer4.visible=false;এবং
this.layer4.visible=true;setHintOn () এবং setHintOff () এ আলাদাভাবে আলাদা করুন into
সুতরাং আমার প্রশ্নটি হল, যদি বুলিয়ান প্যারামিটারটি কেবল মানগুলি নির্ধারণ করতে ব্যবহৃত হয় তবে আচরণগুলি নয় (যেমন: me প্যারামিটারটিতে যদি অন্য কোনও নয়) তবে কী এখনও বুলিয়ান প্যারামিটারটি অপসারণ করার পরামর্শ দেওয়া হয়?
setHint(boolean isHintOn)একটি ব্যক্তিগত পদ্ধতি হিসাবে সংজ্ঞায়িত করুন এবং সর্বজনীন setHintOnএবং setHintOffপদ্ধতিগুলি যথাক্রমে কল করুন setHint(true)এবং setHint(false)।
setHint(true|false)। আলু পোটাওতো। কমপক্ষে setHintএবং এর মতো কিছু ব্যবহার করুন unsetHint।
isশুরুতে লিখবেন । isValidইত্যাদি। সুতরাং কেন দুটি শব্দের জন্য যে পরিবর্তন? এছাড়াও "আরও প্রাকৃতিক" দর্শকের চোখে পড়ে। । আমার জন্য তারপর ইংরেজী বাক্য যেমন উচ্চারণ, আপনি যদি চান একটি "" মধ্যে tucked সঙ্গে "যদি ইঙ্গিত হয়" আছে আরো প্রাকৃতিক হবে