月曜日, 28 2 月 2005

Lint4jでソース検査
この記事をクリップ!
このエントリーをはてなブックマークに追加

« rpm2cpioでファイルの取り出し | Main | ナモとおもちゃ »
Lint4jFindBugsと同じようなJavaプログラムソース内のバグの温床となる記述やパフォーマンス低下につながる部分を探し出して警告してくれるツールだ。
指摘される部分の記述そのものがエラーではないため修正しなくても動作はするがメンテナンス性やパフォーマンス向上のため修正することが推奨されている。
サンプルとして以下のプログラムを用意しLint4jで検査してみた。
package test;

public class test
{
  public static void main(String[] args)
  {
    String hello=new String("hello");

    System.out.println(hello);
  }
}
で、Lint4jを実行。
$ lint4j -v 5 -sourcepath . *
./test/test.java:7: (4): Unnecessary creation of a String from another String
./test/test.java:9: (4): Possible debug call "System.out.println" was detected
問題となる記述が2箇所見つかった。
一つ目はStringインスタンスを作るのに既に""を使ってるにも関わらずさらにnew Stringしているのが問題で、二つ目はデバッグ出力として推奨されないSystem.out.printlnを使っているのが問題なようだ。System.outはともかくStringのコンストラクタは確かに無駄な処理なのでLint4jの判断は正しいと思う。
実際のプロジェクトでも定期的にソースを検査し問題となる部分がないか調べるといいかもしれない。
Posted by tsujitako at 1:39 午前 in Java/