2013-02-04 10 views
39

私はgitのコミットフックまたは自動ビルドスクリプトから呼び出せるEclipseとは別のCLIで実行可能なJavaリンターを探していました。そんなことがあるの?単純なCLI Javaリンターはありますか?

理想的には、使用されていないインポートと変数、そのスタイルガイドラインに従っているかどうか、例外が正しく使用されているかどうかなどをチェックする必要があります。

+1

//これはソフトウェアの推奨のリクエストではありませんか? –

答えて

36
  • Findbugs既存のバグを見つける。とても良い! (例えば、空白Javadocを)コーディング標準や規則を施行するバグにつながることができますパターンを見つけるための
  • PMD(例えば未使用の変数)
  • Checkstyle
  • Error Proneフック、右、アプリケーションのコンパイルステップ

へこれらのツールには、いくつかの重複するルールがあります。他にも多くの同様のツールがありますが、最も一般的でサポートされています。

+0

FindbugsとPMDは別のことをしていますか?最後に私はこれを見て、私は彼らが似ていると結論づけました。私たちだけが必要でした(そしてPMDを選んだ)。また、Checkstyleを実行しました。はい、PMDとCheckstyleが重なっていました。 –

+0

@TomAnderson - 私は彼らが間違いなく別のことをしていると言うでしょう。両方に価値がある(明らかに重複もある)。 – jtahlborn

+0

はい、非常に異なる目標です。 Findbugsは、ACTUALのバグを深く分析することによって時々見つけようとします。 PMDはバグの原因となるパターンを探します。個人的には、FindBugsとCheckstyleを使うのは重複が少ないからです。 – mikeslattery

4

また、多くの他のツールを組み合わせて、それについての素晴らしい見通しを提供するSonarをチェックしてください。

ルールCheckstyle、FindBugs、PMD、Clirr、fb-contribのルール。


ポストcommitフックに追加する方法を正確にわからないが、http://docs.codehaus.org/display/SONAR/Analyzing+with+Mavenは(あなたがMavenを使っている場合は特に)良い出発点になるかもしれません。これらの機能のいくつかのサブセットが良いだろうけど

多分あなたがあなたのチーム全体のためのより良いツールを探ししようとしているかもしれないと思われますのでhttp://docs.codehaus.org/display/SONAR/Continuous+Integrationに記載されているアプローチの一つ使用することを検討してください(「我々は今、何を持っていること - 何もありません "

+0

+1質問が尋ねられてから4年後、SonarQubeはもっと活発で、現代的で完全なようです。これは、上記のツールを組み合わせるのに使われましたが、今度は重複を避けるためにネイティブに実装しています。https://blog.sonarsource.com/already-158-checkstyle-and-pmd-rules-deprecated-by-sonarqube-java-rules/ – user2518618

1

これは私が取り組んでいることです:Javaコードの品質をチェックするためにCLIに優しいツールです。また、インタラクティブモダリティも備えています。警告)またはすべてのクエリを一緒に使用します。

ツールは初期段階ですが、ほぼ毎日作業しています。 E:

https://github.com/ftomassetti/effectivejava

私はあなたが何をそれについて考えると、質問をすること自由に感じていますか教えてください。

+0

このプロジェクトの最終コミットは2年前です。これがもはや積極的に開発されているかどうかは不明です。 –

関連する問題