1

現在、Java には静的コード分析用のツールがたくさんあります。

例えば:

  • PMD
  • CPD
  • バグを見つける
  • チェックスタイル
  • ソナー
  • JDepend

これらすべてのツールを 1 つのアプリケーションで使用するのは良いことですか (Maven を使用すると、ネガティブなシナリオの場合にビルドが失敗します)。それらは互換性がありますか、またはほぼ同じようにチェックしますか? それともただの過剰になりますか?これらのツールにはいくつかのカテゴリがありますか?

4

5 に答える 5

4

Sonar の目的は、すべてのコア分析エンジン (PMD、Findbugs、Checkstyle など) からの結果を集約することです。そのため、Sonar にはこれらすべてのツールに加えて、さらに多くのツールが組み込まれています。

したがって、私のアドバイスは、Sonar に基づいて継続的な検査サーバーをセットアップすることです。他のツールについて心配する必要はありません。Sonar を使用すると、それらすべてを最大限に活用できます。

継続的な検査に関する次のブログ エントリを読むことができます: http://www.sonarsource.org/continuous-inspection-practice-emerges-with-sonar/

于 2012-05-25T10:02:05.160 に答える
1

それらは交換可能ではありませんが、同じアプリケーションですべてを必要とするわけではありません。

カテゴリー:

  1. レポート - Sonar は、使用している他のツール (および JUnit など) の優れたビジュアル ダッシュボードを提供します。
  2. 静的分析 - PMD、FindBugs、CheckStyle
  3. 重複コード - CPD
  4. デザイン/パッケージの依存関係 - JDepend
于 2012-05-26T02:57:13.960 に答える
1

私は FindBugs のみを使用します - 偉大なツールです。問題/潜在的な問題の場所を定義するのに本当に役立ちます。

しかし、FindBugs が冗長なエラー/警告を出すように実装する必要があるコードがある場合もあります。いくつかの注釈で抑制できると思います。

しかし、優れたコード レビューをこのツールで置き換えることは決してありません。

于 2012-05-25T08:17:00.230 に答える
0

適用するルールのセットによって異なります。別のツールを使用することは、それが追加のチェックを提供する場合にのみ意味があります。もう1つの問題は、互いに矛盾するルールをチェックしないようにすべてのツールを構成する必要があることです。そして最後に、冗長な警告がたくさん表示されます。結論:必要なすべてのチェックを提供するツールの最小限のセットを見つけるようにしてください。

于 2012-05-25T08:56:20.133 に答える