C# および C++ コンポーネントのソース コードの複雑さと基本的な SLOC (コメントを含む) の記録を保持するために、私は自分のプロジェクトで SourceMonitor を数年間使用しています。これらは顧客への外部報告に使用されるため、私はそれらのメリットまたは欠如について議論する立場にはありません.
私は、いつでもプロジェクトのスナップショット ビューを表示できるリポジトリ分析ツールに取り組んでいます。私が追加したい次の段階は、指定されたファイルとリビジョンのメトリックのキャッシュです。
SourceMonitor をスクリプト化して、テスト対象のファイルを提供し、結果ファイルの CSV または XML からメトリックを取得できることを知っています。
.NET に同じことを行うために使用できるネイティブ ライブラリはありますか?たとえば、外部プロセスの生成と結果の解析を回避します。
本当に必要なのは次の指標だけです。
- SLOC
- コメント行数
- 最も複雑なメソッドの複雑さ
- 最も複雑なメソッドの名前
これをC#コードと通常のC++コードで実行する必要があります。
編集: 必要な GUI とレポートを提供するツールを既に持っているため、手動の手順なしで、ライブラリ/API を使用してメトリックをスクリプト化または生成する必要があります。理想的には、ユーティリティがバージョン管理から自動的にドラッグする、指定されたファイル/リビジョン (プロジェクト全体ではなく) のメトリックを取得したいと考えています。
注:私はこれのために報奨金を作成し、それが期限切れになったときに休暇中でした...ソースコードではなくアセンブリ自体を見ていないため、NDependsの回答は私を満足させません!!!