4

私は自己完結型のソリューションを持っています (DLL は他のプロジェクトで使用されていないため、メソッドが他の場所で使用されていることを心配する必要はありません)。

まったく使用されていないすべてのメソッド/プロパティを特定する方法を見つけようとしています。

したがって、プライベート メソッド/プロパティだけを見ることはできません。パブリック メソッドとプロパティも確認する必要があります。

私は過去にこれを行ったプログラムを使用しましたが、プライベート メソッド/プロパティに対してのみ使用しました (それが保証するものは別のプロジェクトでは使用されませんでした)。それが何だったのか思い出せたとしても、それは私のニーズを満たしていませんでした。

nDepend を調べましたが、これがアプリケーションの標準的なものなのか、それともカスタム CQL ステートメントを記述する必要があるのか​​はわかりません。

これを実行するアプリケーションを知っている人はいますか? nDepend で実行できる場合、nDepend で実行するのはどれほど難しいでしょうか?

4

4 に答える 4

9

はい-NDependは、この種の依存関係分析に最適なツールだと思います。

この種のことを正確に実行するための事前に用意されたCQLクエリが多数付属しており、既存のクエリをテンプレートとして使用して、独自のクエリを作成するのは非常に簡単です。

最も単純な場合、未使用のメソッドを検出するためのCQLクエリは次のようになります。

SELECT 
  METHODS         // Get me a list of methods
WHERE 
  MethodCa == 0   // Where their afferent coupling is zero, (afferent coupling being the number of other methods that call it)

これは、CQLがどのように見えるかを示すための単なるサンプルです。未使用のメソッドを見つけるためのより高度なクエリは、NDependで提供されます。

詳細については、 PatrickSmacchiaのブログを参照してください。

全体として、他のツール(FxCopおよびResharper)もこれに役立ちますが、この種の依存関係分析はNDependの存在意義です。

于 2010-01-11T21:36:06.607 に答える
6

ソリューション全体の分析を有効にすると、Resharper はこの種の情報を提供できます。

于 2010-01-11T21:26:30.517 に答える
1

コード分​​析 (FxCop) は、未使用のメソッドとプロパティを見つけることもできます。「アップストリームの呼び出し元はこれを使用していません。削除を検討してください」という警告が生成されます。

于 2010-01-11T21:28:46.377 に答える
-1

これは、Visual Studio 2010 Ultimate に組み込まれています。私はそれを使用します。

于 2011-09-02T21:09:27.637 に答える