例えば。
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
これは、SunがJavaコアパッケージに使用するブールメソッドと変数の命名規則です 。 is接頭辞を使用すると、ステータスやフラグなどの不正なブール名を選択するという一般的な問題が解決されます。isStatusまたはisFlagは単に適合せず、プログラマーはより意味のある名前を選択する必要があります。
ブール変数のセッターメソッドには、次のようにプレフィックスを設定する必要があります。
void setFound(boolean isFound);
isプレフィックスにはいくつかの選択肢があり、状況によってはよりよく適合します。これらは、プレフィックスがあり、することができ、プレフィックスする必要があります。
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()
(少なくともEclipseが考えていることです)です。これは非常に混乱しやすく、主な問題にさかのぼることができます。
そもそもフィールドを呼び出さないでくださいisCurrent
。 Isは動詞であり、動詞はオブジェクトの状態を表すには不適切です。代わりに形容詞を使用すると、突然あなたのゲッター/セッター名がより意味をなすようになります:
private boolean current;
public boolean isCurrent(){
return current;
}
public void setCurrent(final boolean current){
this.current = current;
}
get
aのBoolean
vs is
を取得するときに接頭辞を使用しますboolean
たぶん、この答えを修正し始める時が来ましたか?個人的に私はのために投票するsetActive()
とunsetActive()
(選択肢があることができsetUnActive()
、notActive()
、disable()
「のsetActive」以来、等のコンテキストに応じて)を意味しますが、それはあなたがいないすべての回で活性化させます。「setActive」と言うのは直観に反しますが、実際にはアクティブ状態を削除します。
別の問題は、CQRSの方法で具体的にSetActiveイベントをリッスンできないことです。「setActiveEvent」をリッスンし、リスナーが実際にアクティブに設定されているかどうかを確認する必要があります。またはもちろん、呼び出すときにどのイベントを呼び出すかを決定しますsetActive()
が、それは関心の分離の原則に反します。
これについては、Martin FowlerによるFlagArgumentの記事をよく読んでください。http://martinfowler.com/bliki/FlagArgument.html
しかし、私はPHPの出身であり、この傾向がますます採用されているのを目にしています。これがJava開発にどれだけ役立つかはわかりません。
private boolean current;
public void setCurrent(boolean current){
this.current=current;
}
public boolean hasCurrent(){
return this.current;
}
has
BOや、なんらかの処理が必要なサービスにはPOJOに使用されていると思いますis
。回答についての説明を追加してください。