CheckStyleの警告を抑制する

「9」ボタンをクリックしたら「9」を入力するという処理を書くと、コード上に「9」という数字が登場します。これはCheckStyleにかかるとマジックナンバーとして警告の対象になります。しかしこれをわざわざ定数にするのは面倒、かつ、かえってわかりにくくなるのでCheckStyleの挙動を変えたくなるわけです。

チェックルールを無効にしてしまうのが手っ取り早いですが、警告の対象から外したいのはソースコード上の一部なのでその部分だけを無視するようにしてもらうことにします。

Sun Checksというチェック構成を使っているのですけどこれはビルトイン構成で設定を変更できないので、Sun Checksをコピーして新しいチェック構成を作成します。作成したチェック構成の[構成]→[フィルター]→[抑制コメント・フィルター](英語だとSuppression Comment Filter)を追加。モジュール構成はデフォルトのままにしておきます。

次はプロジェクトのプロパティで新規に作成したチェック構成を選択。これでCHECKSTYLE:OFFからCHECKSTYLE:ONの間は無視してくれます。次のような書き方ですね。

// CHECKSTYLE:OFF
selectNumber(9);
// CHECKSTYLE:ON

1行だけ無視する場合はSuppressWithNearbyCommentFilterを使う方法もあります。チェック構成の[構成]→[フィルター]→[Suppress With Nearby Comment Filter]を追加。簡単に使えるように警告の種類関係なく無視して欲しいのでモジュール構成を変更します。commentFormatを「CHECKSTYLE IGNORE THIS LINE」、checkFormatを「.*」に変更。

これで次のように書けます。

selectNumber(9); // CHECKSTYLE IGNORE THIS LINE

[参考]checkstyle - Configuration