Checkstyle

Checkstyleは、ソフトウェア開発において使われる静的コード解析ツールの1つであり、Javaのソースコードに対してコーディングルールへの準拠を確認する。

利点と制限 
ソフトウェア開発プロジェクトにおいてプログラミング作法を採択すると、コードの品質・可読性・再利用性を改善する良い習慣が根付き、開発コストが削減される場合がある。Checkstyleで実行される検査は内容の検査ではなく主にプログラムの体裁に限定され、プログラムの正しさや完全性は確認しない。実際には全ての制約への準拠は煩雑であり、一部はプログラミング段階における原動力を削ぐ可能性がある。そのためどの水準の検査が必要なのか、個々のプログラムの種類によって決定すると良い。

利用可能モジュールの例 
Checkstyleでは利用可能な一通りのモジュールが定義されており、各モジュールには設定可能な厳しさの水準(必須・任意・……)を備えた規則が用意されている。各規則は通知・警告・エラーを報告する場合がある。

モジュールにより例えば次のような検査が可能になる:
 クラス・属性・メソッドに対するJavadocコメント
 属性やメソッドに対する命名規則
 関数の引数の数や1行の長さの制限
 必須のヘッダーの存在
 インポートの使い方・クラスの使い方・スコープ宣言の使い方・命令ブロックの使い方
 ある種の文字の間の空白
 クラス作成のための良い習慣
 重複コード
 複数の複雑性指標

使用法 
CheckstyleはJava仮想マシン上での実行かApache Antのタスクとしての実行ができるJARファイルに格納されている。また、統合開発環境や他のツールにも統合できる。

Checkstyleプラグインは次のような新たな機能を提供する:
 コードエディタにおけるシンタックスハイライティングや装飾の利用
 問題を含むリソースをハイライトするためのプロジェクトエクスプローラの装飾
 警告やエラー出力のコンソールへの追加
これにより開発者はCheckstyleでハイライトされたコード部分に直接アクセスできる。

歴史 
2001年にオリバー・バーン・バックがオリジナル版を開発し、世界中の複数の開発者集団によって維持されている。

Javaの言語仕様の更新に合わせてバージョンアップが行われており、2014年3月リリースのJava 8については、同年10月リリースの5.9で対応された。

脚注

関連項目 

  - C#用の類似ツール

外部リンク 
  公式ウェブサイト
 EclipseCS  - CheckstyleのEclipseプラグイン
 SevNTU-Checkstyle  - extension for EclipseCS with number of check that are not part of checkstyle upstream.

静的プログラム解析ツール
Java開発ツール
オープンソースソフトウェア