私は一貫性、ひいては慣習を大いに信じています。
ただし、私は現在Javaでフレームワークを開発しており、これらの規則(具体的にはget
/set
プレフィックス規則)が読みやすさの妨げになっているようです。たとえば、一部のクラスにはプロパティがあり、代わりにを使用id
することは、いくつかの理由でまったく無意味に思えます。name
o.getId()
o.id()
- クラスは不変であるため、(一般的に)対応するセッターはありません。
- 混乱する可能性はありません、
- この場合、
get
追加のセマンティクスは伝達されず、 - 私はこの
get
少ない命名スキーマをライブラリ全体で非常に一貫して使用しています。
Collection
JavaBeanの規則に違反するJavaクラス(およびJavaプラットフォームライブラリの他のクラス)からある程度の安心感を得ています(たとえば、size
代わりに使用するgetSize
など)。
この懸念を回避するには、コンポーネントをJavaBeanとして使用することはできません。これは、そのように意味のある方法で使用できないためです。
一方、私は経験豊富なJavaユーザーではなく、他のJava開発者がライブラリに何を期待しているのかわかりません。この中のJavaプラットフォームクラスの例に従うことはできますか、それとも悪いスタイルと見なされますか?get
Javaライブラリクラスの/規則への違反は、set
振り返ってみると間違いと見なされますか?または、該当しない場合にJavaBeanの規則を無視するのは完全に正常ですか?
(JavaのSunコード規約では、これについてはまったく言及されていません。)