Eclipse CheckStyleの設定 編

CheckStyle を有効にしてコーディングを進めていくと、気になる点がいくつか出てきます。
まずは下の画面をご確認ください。

HelloWrold.java

20100518_01

package-info.java

20100518_02

シンプルなソースであるにもかかわらず、合計5箇所に2種類のCheckStyle警告が出ています。

20100518_03

1つ目は 『sayHelloメソッドを final宣言 or abstract化 or 空メソッドとすること』で、2つめは 『JavaDoc の "。" を ". (ピリオド)" に変更すること』で解消可能なのですが、あまり必要性のないコーディング規約ではないでしょうか。
このあたりがデフォルトのCheckStyle定義の融通が聞かない部分のように思えます。

今回は、デフォルトのCheckStyle定義の中で、個人的にそこまで厳密にルール化する必要があるとは思えない設定を変更していきます。

1. オリジナル定義を作成

デフォルトの2つのCheckStyle定義「Sun Checks」「Sun Checks (Eclipse)」は変更することができないため、別途オリジナルのCheckStyle定義を作成します。

「ウィンドウ」-「設定」メニューから設定画面を表示します。
「CheckStyle」メニューの「グローバル・チェック構成」項目から、「Sun Checks」を選択して「コピー」ボタンを選択します。

20100518_04

チェック構成プロパティ画面が表示されますので、適当な名前 (ここでは「Sun Checks (Original)」としています) と説明を入力して「OK」ボタンを選択してください。

20100518_05

新規に作成した「Sun Checks (Original)」を選択して「構成」ボタンを選択すると、CheckStyle構成画面が表示されます。
この画面からチェック内容の変更を行います。

20100518_06

2. チェック内容の変更

No 警告メッセージ 項目 設定
1 メソッド 'xxx' は拡張するように設計されていません - abstractかfinalか空であるひつようがあります。 case:1 クラス設計 - 拡張のための設計 OFF
2 最初の一文はピリオドで終わらなければなりません。 case:2 JavaDocコメント - スタイルJavaDoc - checkFirstSentence OFF
3 パラメーター xxx は final でなければなりません。 case:3 その他 - Final パラメータ OFF
4 'xxx' がフィールドを隠しています。 case:4 コーディング問題 - 隠しフィールド OFF
5 'xxx' はマジックナンバーです。 case:5 コーディング問題 - マジック・ナンバー OFF

case:1 メソッド 'xxx' は拡張するように設計されていません - abstractかfinalか空であるひつようがあります

前述、HelloWorld.java の sayHello メソッドが該当します。

case:2 最初の一文はピリオドで終わらなければなりません

前述、HelloWorld.java の JavaDoc が該当します。(行の最後が「。」で終わっている。)

case:3 パラメーター xxx は final でなければなりません

メソッドのパラメタがfianl宣言を行っていない場合、警告メッセージが表示されます。

case:4 'xxx' がフィールドを隠しています

フィールド変数とローカル変数 (メソッドのパラメタ変数も含む) が同一の場合、警告メッセージが表示されます。

case:5 'xxx' はマジックナンバーです

数値リテラルを使用している場合、警告メッセージが表示されます。
ただし、-1, 0, 1, 2 は警告対象から除外されます。

3. プロジェクトの使用定義の変更

「プロジェクト」-「プロパティ」メニューから、CheckStyle定義に「Sun Checks (Original)」を指定します。

20100518_07

設定画面から「デフォルトとして設定」を行っておくと、以降作成するプロジェクトでこの変更を行う必要はありません。

[ END ]


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*