যেমন।
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
উপসর্গ স্পেসিফিকেশন অংশ নয়। রেফারেন্স জাভাবিয়ান স্পেসিফিকেশন 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
আমি বিশ্বাস করি এটি হবে:
void setCurrent(boolean current)
boolean isCurrent()
সম্ভবত এই উত্তরটি সংশোধন করার সময় এসেছে? ব্যক্তিগতভাবে আমি ভোট দেবে setActive()
এবং unsetActive()
(বিকল্প হতে পারে setUnActive()
, notActive()
, disable()
, ইত্যাদি প্রসঙ্গ উপর নির্ভর করে) যেহেতু "setActive" বোঝা আপনি এটা সব সময়, যা আপনি না এ সক্রিয় করুন। "সেটএ্যাকটিভ" বলতে আসলে এটি সক্রিয় অবস্থাকে সরিয়ে ফেলা এক ধরণের পাল্টা স্বজ্ঞাত।
অন্য সমস্যাটি হ'ল, আপনি বিশেষত কোনও সিকিউআরএস উপায়ে একটি সেটএ্যাকটিভ ইভেন্ট শুনতে পারবেন না, আপনার একটি 'সেটএ্যাকটিভেন্ট' শোনা উচিত এবং শ্রোতার ওয়েথারটি আসলে সক্রিয় ছিল কি না তা ভিতরে নির্ধারণ করতে হবে। অথবা অবশ্যই কল করার সময় কোন ইভেন্টটি কল করতে হবে তা নির্ধারণ করুন setActive()
তবে তা পরে বিচ্ছিন্নতার বিষয়গুলির নীতির বিরুদ্ধে যায়।
মার্টিন ফওলারের ফ্ল্যাগআরগমেন্ট নিবন্ধটি এ সম্পর্কে একটি ভাল পঠন: http://martinfowler.com/bliki/FlagArgument.html
তবে আমি পিএইচপি ব্যাকগ্রাউন্ড থেকে এসেছি এবং আরও দেখি যে এই প্রবণতাটি আরও বেশিভাবে গৃহীত হচ্ছে। জাভা বিকাশের সাথে এটি কতটা বেঁচে আছে তা নিশ্চিত নয়।
private boolean current;
public void setCurrent(boolean current){
this.current=current;
}
public boolean hasCurrent(){
return this.current;
}
has
POJO এর সময় এমন কিছু প্রসেসিং সহ বিও বা এই জাতীয় পরিষেবার জন্য ব্যবহৃত হয় 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;
}
আমি নিশ্চিত নই যে এই নামকরণগুলি স্থানীয় ইংরেজী স্পিকারগুলিতে বোঝা যায়।