へなちょこSEの考察

0x22歳のへなちょこSEが、日々思うことを考察します。自社内、金融系を経て現在法人系PKG開発に従事。

Checkstyleの「'X'がフィールドを隠しています」の抑制

メモ。

 

Checkstyleで「'X'がフィールドを隠しています」という警告が出ることがあります。
当然ながらセッターやコンストラクタではわかっていてフィールドに代入しているわけで、この警告はいらないことになります。
完全にこのチェックを外してしまうのもありですが、セッターとコンストラクタだけ無視するようにできます。

 

プロジェクトのプロパティから「Checkstyle」を選び、現在の設定の「Modify」を選択します。
標準のルールを使っている場合は変更できないため、標準のルールをコピーして新規ルールを作ってください。
で、「Coding Problems」の「Hidden Field」を選択して「Open」ボタン。
「ignoreConstructorParameter」と「ignoreSetter」にチェックを入れればOK。

 

ただこれ、セッターの名前が命名規則に沿っていないとセッターとして認識してくれません。
逆を言えば、セッターの命名規則が正しいかをチェックするのにも使えるということです。

 

また、一部変数名が極端に短い場合(一文字~三文字程度)は、正しくセッターとして認識されないことがあるようです。
このへんは理由不明。
名前がちゃんと規則とマッチしてないと判断されてるのかなぁ。

 

2013/01/08 追記
変数名が「aCd」などのように、2文字目に大文字が来た場合にSetter / Getterの名称を「setaCd / getaCd」とするのが正しいためらしい。

 

 JavaBeansの命名規則 - 日々常々

 

そんな規則があるとは知らなかった。
もっとも、2文字目大文字なんて変数名を自分でつけることはまずないから問題なかったのだけど。