Checkstyle とは

■ Checkstyle とは Java ソースファイルが決められた規約に従っているかをチェックする、オープンソースのソフトウェアです。 「守れ」といっても守られないのがコーディング規約ですが、こういったツールをビルドの過程に組み込んでしまうことにより、 開発者にコーディング規約の遵守をある程度強制することができます。
 Checkstyle では

のような、コードの「見た目」に関する規約や、 のように、企業の情報システムなどではおそらく必須となるであろう規約類だけでなく、 など、クラスの設計までかかわる、コーディング内容そのもののチェックまでをカバーしようとしています。
見た目のチェックだけならば、IDEの自動整形機能だけで十分かもしれませんが、Checkstyle を使うメリットは まさにこの部分にあると思います。
設定はXMLベースの設定ファイルで行い、命名などの規約は正規表現による設定が可能です。また、公開されている APIを使用して独自のチェッククラスを実装することも可能です。

 
コマンドラインで使う

■ 一番の基本形となる、コマンドラインでの使用方法を解説します。
コマンドラインから以下のように入力してください。

> java -jar checkstyle-all-3.1.jar -c sun_checks.xml <チェック対象のjavaソースファイル>
※Checkstyle 3.1 を使用した場合の例です。添付の sun_checks.xml を使う場合、 そのままではコマンドラインで使用できません。 70行目にある "Header" モジュールを削除するか、その中の ${basedir} を実際のディレクトリに置き換えるなどしてください。

このコマンドを実行すれば、規約に違反する個所が標準出力にレポートされます。 メッセージは一部を除いて基本的には日本語化されています。

D:\Tools\Checkstyle>java -jar checkstyle-all-3.1.jar -c docs\sun_checks.xml C:\Temp\Test.java
Starting audit...
C:\Temp\package.html:0: パッケージドキュメンテーションが見つかりません。
C:\Temp\Test.java:3: Javadoc コメントがありません。
C:\Temp\Test.java:3:24: '{' の前にホワイトスペースがありません。
C:\Temp\Test.java:7: Line has trailing spaces.
C:\Temp\Test.java:10:5: 'equals()' を定義していますが、これに対応する 'hashCode()' の定義がありません。
C:\Temp\Test.java:10:27: Parameter o should be final.
C:\Temp\Test.java:10:34: 'o' には @param タグが必要です。
C:\Temp\Test.java:10:36: '{' の前にホワイトスペースがありません。
Audit done.
>_

 
ant で使う

■ Checkstyle を Ant で使用するのもとても簡単です。 ビルドファイルに以下のような内容を追加してください。

<!-- 以下、太字の個所は自分の環境に合わせてください。 -->
<!-- Checkstyle のタスク定義。 -->
<taskdef resource="checkstyletask.properties"
         classpath="D:/Tools/Checkstyle/checkstyle-all-3.1.jar"/>
    :
    :
<!-- Checkstyle ターゲット。-->
<target name="checkstyle"  description="コーディング規約のチェックを行います">
        <checkstyle config="./sun_checks.xml">
                <fileset dir="src" includes="**/*.java"/>
        </checkstyle>
</target>
※ant では ${basedir} は定義されますので、コマンドラインのように sun_checks.xml を修正する必要はありません。 ただし、${basedir} に java.header は必要になることに注意してください(サンプルが sun_checks.xml と同じフォルダにあります)。

あとは"ant checkstyle"でOKです。

 
eclipse で使う

■ Checkstyle は各種IDEへのプラグインが用意されています。ここでは代表的なもののひとつである、eclipse プラグインの設定方法を説明します。

1.Eclipse Checkstyle Plug-in のプロジェクトページから com.atlassw.tools.eclipse.checkstyle_3.1.1.zip をダウンロードします。

2.eclipse が起動中ならば終了してください。

3.ZIPファイルを解凍してできた com.atlassw.tools.eclipse.checkstyle_3.1.1 フォルダを eclipse のインストールフォルダ配下の plugins フォルダにコピーします。



4.eclipse を起動します。

5.Checkstyle によるチェックを適用するプロジェクトのプロパティを開きます。



6.Checkstyle の項目が追加されているはずです。
 "Add..." ボタンを押すと Checkstyle File Set Editor が開きます。ここではチェックの対象となるファイルを 正規表現を使って指定します。 "File Set Name" にはこの設定を識別する適当な名前を、"Check Configuration" ではこのファイル群に適用する チェックの設定(「ウィンドウ」→「設定」のメニューで設定したもの)を一覧から選んでください。設定には デフォルトで "Sun Checks" が選べるはずです。
 その下の一覧にはデフォルトで一行追加されていると思います。通常の Java ソースファイルを対象とするのであれば そのままでOKです。"File Matching Regular Expression" には正規表現を、"Include" には、その正規表現に一致する ファイルを対象に含める(Include)のか除外する(Exclude)のかを指定します。



7.「OK」を押すと、プロジェクトプロパティの Checkstyle 項目のところに、今作成したファイルセットが 追加されているはずです。"Enabled" にチェックがついていれば Checkstyle が有効になりました。「OK」を押して 設定画面を閉じてください



8.警告がタスクに表示されます。ダブルクリックして該当行の修正をしてください。



 
peggy で使う

未稿