月曜日, 28 2 月 2005
| Lint4jでソース検査 |
|
|
Lint4jはFindBugsと同じようなJavaプログラムソース内のバグの温床となる記述やパフォーマンス低下につながる部分を探し出して警告してくれるツールだ。
指摘される部分の記述そのものがエラーではないため修正しなくても動作はするがメンテナンス性やパフォーマンス向上のため修正することが推奨されている。
サンプルとして以下のプログラムを用意しLint4jで検査してみた。
一つ目はStringインスタンスを作るのに既に""を使ってるにも関わらずさらにnew Stringしているのが問題で、二つ目はデバッグ出力として推奨されないSystem.out.printlnを使っているのが問題なようだ。System.outはともかくStringのコンストラクタは確かに無駄な処理なのでLint4jの判断は正しいと思う。
実際のプロジェクトでも定期的にソースを検査し問題となる部分がないか調べるといいかもしれない。
指摘される部分の記述そのものがエラーではないため修正しなくても動作はするがメンテナンス性やパフォーマンス向上のため修正することが推奨されている。
サンプルとして以下のプログラムを用意し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 at 1:39 午前 in Java/






