回答:
Sonarは、CheckStyle、FindBugs、PMD、およびJavaプロジェクトのデフォルトでCobertura(コードカバレッジ)などの他のいくつかの「プラグイン」を実行します。ただし、主な付加価値は、履歴をデータベースに保存することです。その後、傾向を確認できます。コードベースを改善していますか、それとも反対ですか?メモリを備えたツールだけがそれを教えてくれます。
CIシステムでSonarを実行して、実行に時間がかかるもの(CPD-コピーペースト検出器など)でも実行できるようにする必要があります。そして、あなたにはあなたの歴史があります。たとえば、Eclipseプラグインを使用すると、違反をより早く検出できます(これは素晴らしいことです)が、実行に時間がかかりすぎたり、「品質の高いプラグイン」(CPDのスキップやコードカバレッジ分析をスキップします)。そして、あなたには歴史がありません。
また、ソナーは「ダッシュボード」スタイルのビジュアルレポートを生成します。これは非常に把握しやすくします。JenkinsのSonarを使用すると、開発者と管理者に、過去数週間と数か月にわたってコードベースの品質に対して実行された作業の影響を示すことができます。
Sonarはこれら3つのツールをプラグインとして使用し、これら3つのツールからのデータを集約して、これらのツールからグラフなどを表示することで付加価値を提供します。したがって、それらはソナーを補完します。
ソナーは素晴らしいですが、上記のツールを個別に使用し、それでも素晴らしいグラフを残したい場合は、Jenkins CIビルドの一部としてAnalysis Collectorプラグインを使用できます。これのわずかな利点は、PMD / Findbugs / Checkstyle構成をSCMにチェックインして、別のSonarサーバーに依存するのではなく、Mavenビルドに統合できることです。
ソナーは、これらのツールだけの場合をはるかに超えています。最大の利点はGUIで、何でも簡単に構成できます。それが提供する統計は非常に詳細です(コード行など)。そしてそれはテストカバレッジなどのための素晴らしいサポートも提供します:)
ここでよく見ることができます:http : //nemo.sonarsource.org/
...数年後:いいえ、そうではありません!SonarQubeは、独自のアナライザーですべてのルールをカバーできると想定していますが、SonarQubeでカバーされていないPMDまたはCheckStyleからのルールがまだあります。たとえば、PMD ReturnFromFinallyBlockを参照してください。
少なくとも、SonarQube 6.3以降では、Findbugsは(現時点では)プラグインとしてサポートされなくなったようです。Sonarsourceは、独自のJavaプラグインによるFindbugsルールの置き換えに取り組んでいます。
各ルールの置換ステータスのリストもここにあります:http : //dist.sonarsource.com/reports/coverage/findbugs.html