2009-11-21 9 views
9

私はコード統計ツールに興味があります。具体的には、Java EEコードに関する統計を取得する必要がありますが、コードアナライザはこれを実行します。私は自分自身を作成し​​始めるべきか、あなたが使ったプロジェクトがありますか?大きなプロジェクトからコードの統計を取得する

ex。 LOC、クラス数、ライブラリ...

あなたの経験は何ですか?

答えて

12

を試みることができます。 このツールはJavaNCSSを使用していましたが、バージョン1.9以降、Java 1.5または1.6プロジェクトと完全に互換性のある独自の内部ツール(SonarSquid)があります。

alt text http://sonar.codehaus.org/wp-content/uploads/2009/05/sonar-squid.jpg

また、あなたは、プロジェクトの完全なセットを監視することができます。

Nemo demo instanceにアクセスすると、ツールの概要を知ることができます。

+1

このツールは、OPの問題を解決するために過剰です。実際の解析を行うために2番目のツールに依存しているデベロッパーマシンに3層Webアプリケーションをインストールし、少なくとも2つの設定ファイルを使用したい場合は、先に進んでください。 60秒で3つの評価基準OPをリストアップするツールが必要な場合は、Marceloの回答を見てください。 – Nilzor

+0

@Nilzor私は同意しない。ソナーは本当に使いやすいです。 zipをダウンロードして起動し、分析を実行するだけです。もちろん、それは多くの情報を提供しています.OPよりも多くの情報が提供されています。 Marceloが提案したツールに関して、私はそれらが古すぎるため、Java 1.5+コードを正しく解析できないことがある(Java 1.5と互換性がないJavaNCSSツールを使用した場合) – romaintaz

5

私はすでにMetrics Eclipse Pluginを使用しています。最近は時代遅れですが、いくつかの興味深い指標があります。

StateOfFlowもあります。それはより少ないメトリクスをサポートしますが、それは時代遅れではないようです。

+0

StateOfFlowがクラッシュしました。 msgstr "利用可能なtypeinfoパッケージはありません=(私のパッケージ)"。報告された問題は無視されます。プロジェクトは死んでいる。 –

4

基本的なメトリック(NCSS、#classes/packages/functions、CCN)をサポートするJavaNCSS - A Source Measurement Suite for Javaを使用できます。あなたは「java」のためのgoogleできるためにそれが十分でない場合には

その後

を(あなたも、特別な言語で使用して独自の指標を定義することができます)いくつかの20+コードメトリクスとCloverをサポートSonarあり"メトリック"

+0

+1ソナー用。 JavaNCSSにはJava 1.5+プロジェクトにいくつかの問題があります。そのため、SonarチームはJavaNCSSの代わりに独自のツールを開発しました(このツールはSonarSquidと呼ばれ、バージョン1.9以降はSonarに組み込まれています)。 – romaintaz

3

非常にニッチな統計情報を収集する1つのツールはTestability Explorerです。それは、Javaバイトコードで動作し、循環的複雑さ、グローバルな状態の変化などの統計情報を提供します。 Apache 2.0ライセンスのもとでは無料でオープンソースです。

私が言ったように、それは非常にニッチであり、おそらくLOCと関連しやすいメトリクスは与えません。しかし、興味深いのは、実行しているプロジェクトとseveral well known open-source projectsを比較することができるということです。これはおそらく結果をより有用にするでしょう。


最近使用した別のツールはSLOCCountです。これは、Javaを含むさまざまな言語の統計情報を提供するために設計されたコマンドラインツールです。 JavaNCSSを大規模なコードベース(あまりにも多くのファイルに苦情を出している)で実行しなかった後、私はこのツールを非常に大きなコードベース(IntelliJ IDEA)に対して問題なく走らせました。素晴らしい機能は、構成の容易性がほとんどなく、*.javaのファイルを探すよう指示する必要はなく、自動的に異なる言語を認識して報告されています。

SLOCCountの欠点は、Windowsを実行している場合です。Cygwinを使用して実行する必要があります。 Eclipse用

2

ジッタで説明したように、あなたはSonarが決定的にあなたが探しているツールである、Emma(コードカバレッジ)とJDepend(設計品質メトリクス)

3

SD Java Metrics ToolがSLOC、コメント数、ハルステッドと循環的複雑度番号、ダウンメソッドレベルへとより大きく、すべてのロールアップについて(メソッド、クラス、ファイル、ディレクトリ、...)

SD Java Clone Doctor分析を提供コード複製のためのソフトウェアシステムであり、検出されたクローンの完全なリストを提供します。通常、大規模なソフトウェアシステムでは10〜20%です。リンクでクローン検出レポートを見ることができます。

SD Source Code Search Engineは、何百万行ものコード行にわたって鮮明な検索を提供するためにソースコードベースをインデックスします。ソースベースの索引作成の副産物として、SLOC、コメント数、HalsteadおよびCyclomatic数のファイルレベル統計を生成します。 Java、C#、その他の多くの言語で動作します。

2

また、JavaDependを試してみてください。これは82以上のメトリックを提供しており、コードベースを照会するCQL(SQLのようなもの)は柔軟性があります。

また、メトリックビューでは、SLOC、複雑さなどのメトリックを視覚的に確認できます。私はメトリクスのレポートに私のプロジェクトをエクスポート

Metric View

関連する問題