8

一部のプロジェクト (jsoup など) で、この新しい getter/setter 命名規則が使用されているのを見てきました。

String name()
void   name(String value)

古いゲッター/セッター変換の代わりに:

String getName()
void   setName(String value)

各命名規則の長所と短所は何ですか? どちらか一方を優先する必要があると考える場合とその理由は?

4

5 に答える 5

9

最初の例は、 JavaBeans 仕様[警告 PDF]に準拠していません。Spring のような特定のフレームワークがあり、この命名規則を前提としています。特に EL で何かを行う場合は${object.name}、 に変換されobject.getName()ます。命名規則に従わない場合、これは失敗します (回避する方法はありますが)。

ゲッター/セッターを使用する場合/場合についての議論に入ることなく、一般的に命名規則に固執することをお勧めします.慣習に従って名前を付けます。

于 2012-08-29T23:44:17.300 に答える
3

読みやすさと API スタイル以外には何もありません。

一部の API はこのスタイルを受け入れますが、一部の API はこの構文を受け入れず、気に入らず、Spring injections認識JSFできません (プロパティの get/set が明示的に必要です)。

于 2012-08-29T23:43:10.870 に答える
3

扱っているオブジェクトが不変である場合、つまり、フィールドname()の値を決して変更しない場合に単純に使用するのが好きです。name可変オブジェクトを扱うときは、読みやすさの点で優れていると思うという理由だけで、あなたが言及した2番目の規則を使用します。

于 2012-08-29T23:44:41.480 に答える
2

私は常にメソッド名に動詞を使用することを好むので、これはゲッターとセッターにも当てはまります。

私は変数にのみ名詞を使用します。

従来の JavaBean 標準に従うと、より快適になります。:)

于 2012-08-30T07:33:16.090 に答える
1

ライブラリが低レベルで、このコンポーネントが JavaBean ではないことを明確にしたい場合は、短いスタイルを使用することを好みます。

疑問がある場合は、JavaBean スタイルを使用します。

于 2012-08-30T07:33:16.047 に答える