一部のプロジェクト (jsoup など) で、この新しい getter/setter 命名規則が使用されているのを見てきました。
String name()
void name(String value)
古いゲッター/セッター変換の代わりに:
String getName()
void setName(String value)
各命名規則の長所と短所は何ですか? どちらか一方を優先する必要があると考える場合とその理由は?
一部のプロジェクト (jsoup など) で、この新しい getter/setter 命名規則が使用されているのを見てきました。
String name()
void name(String value)
古いゲッター/セッター変換の代わりに:
String getName()
void setName(String value)
各命名規則の長所と短所は何ですか? どちらか一方を優先する必要があると考える場合とその理由は?
最初の例は、 JavaBeans 仕様[警告 PDF]に準拠していません。Spring のような特定のフレームワークがあり、この命名規則を前提としています。特に EL で何かを行う場合は${object.name}
、 に変換されobject.getName()
ます。命名規則に従わない場合、これは失敗します (回避する方法はありますが)。
ゲッター/セッターを使用する場合/場合についての議論に入ることなく、一般的に命名規則に固執することをお勧めします.慣習に従って名前を付けます。
読みやすさと API スタイル以外には何もありません。
一部の API はこのスタイルを受け入れますが、一部の API はこの構文を受け入れず、気に入らず、Spring
injections
認識JSF
できません (プロパティの get/set が明示的に必要です)。
扱っているオブジェクトが不変である場合、つまり、フィールドname()
の値を決して変更しない場合に単純に使用するのが好きです。name
可変オブジェクトを扱うときは、読みやすさの点で優れていると思うという理由だけで、あなたが言及した2番目の規則を使用します。
私は常にメソッド名に動詞を使用することを好むので、これはゲッターとセッターにも当てはまります。
私は変数にのみ名詞を使用します。
従来の JavaBean 標準に従うと、より快適になります。:)
ライブラリが低レベルで、このコンポーネントが JavaBean ではないことを明確にしたい場合は、短いスタイルを使用することを好みます。
疑問がある場合は、JavaBean スタイルを使用します。