nDiki : DoctorJ

DoctorJ

以下古いバージョンの話。

Java のコード解析ツール。GNU LGPL で公開されている。

  • ドキュメントの検証
  • 統計解析
  • 文法チェック (lint)

等を行う。

DoctorJ 自身は C++、Lex、Yacc で記述されている。

使い方

コマンドラインツール。基本的には

 doctorj *.java

という感じ。標準出力に結果が出力される。

使い方(ドキュメントのチェック)

 doctorj *.java

主に、クラス・メソッドに Javadoc コメントがきちんと整備されているかがチェックされる。 問題のある行番号と行が出力され、その次の行にその位置を表すためのマーカー(<--->)が出力される。

使い方(文法のチェック)

 doctorj --nodocumentation --syntax *.java

識別子の使い方やメソッドの長さ等、コンパイラでは検出されないチェックが行われる。 デフォルトでは推奨するプライベート変数名が

 ^_[a-z][a-zA-Z0-9]*$

だったりするので(Code Conventions For The Java Programming Language では、_で始まる変数名は推奨されていない)、気にいらなければ設定ファイル等で変更する。

method の長さの guideline を 15行としているが、これはいささか短い感じがする。 try 節と catch 節があるとあっという間に、5行使うし。 この警告はオプションで抑制できるのだけれど、長さの変更はできなさそう。

最近のバージョンでは設定ファイルの method.length.max で指定できるようになった。デフォルトは 36 に変更されている。

ちなみに method の長さは、メソッド宣言の行数(MethodHeader + MethodBody) から 1を引いた数で計算されるようだ。

統計解析

 doctorj --nodocumentation --statistics *.java

設定ファイル

$HOME/.doctorjrc、./doctorjrc ファイルがあれば読み込む。

 doctorj --help-config

とすると雛型が標準出力に出力されるので、これを修正して使えば良い。

スペルチェック

スペルチェックが有効になっていると、日本語の含まれるソースが正しく処理されない(UTF-8, 日本語EUC)ことがある。

スポンサード リンク

no diary

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.050329s / load averages: 1.40, 0.76, 0.63
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker