コードで定義されているすべての関数がどこかで呼び出されているかどうかを判断する方法はありますか?定義されているすべての関数が呼び出されているかどうかを確認する方法はありますか?
私は大規模なプロジェクトの大規模なコードを更新しています。使用しなくなった古い関数がコードから削除されていることを確認したいと思います。
ソリューション内の各機能を検索するより良い方法はありますか?
コードで定義されているすべての関数がどこかで呼び出されているかどうかを判断する方法はありますか?定義されているすべての関数が呼び出されているかどうかを確認する方法はありますか?
私は大規模なプロジェクトの大規模なコードを更新しています。使用しなくなった古い関数がコードから削除されていることを確認したいと思います。
ソリューション内の各機能を検索するより良い方法はありますか?
マークあなたはtrue
に設定IsError
でObsoleteとして削除しようとしているそれぞれの方法。 メソッドをそのようにマークすると、コンパイルエラーが発生し、が安全にメソッドを削除できるかどうかを知ることができます。
[Obsolete("Don't use this method", /* IsError */ true)]
public void Foo() {}
NCoverのようなコードカバレッジツールですか?
編集: これは、機能について十分なテストが行われており、不要な機能をすべて削除することを前提としています。 Delete-then-compileは機能しますが、スケーラブルではありません。何らかの種類のソース解析ツール(静的解析または実行時解析のいずれか)が必要な場合があります。
ここでは反射を除いてすべてをキャッチする方法があります。
の方法を削除しますこれは少しやり過ぎだが、それは複数の機能を削除することによって、あなたが「バッチ」のクエリができるという利点があります。
FxCopは、孤立した/未使用のメソッドを見つけることができるはずです。私は、静的分析はあなたが探しているものであり、コードカバレッジではないと思います。
つの提案:
あなたの開発ツールによっては、宣言されていないが、決して呼び出される関数について警告を生成することができるかもしれません。
リンカーマップを生成し、その関数のリストをソースから直接生成するリスト(grep
またはctags
?)と比較することができます。
の可能重複[C#のアプリで参照されていない機能(死んで、廃止されたコード)を見つけるためのツールはありますか?](http://stackoverflow.com/questions/65585/is-there-a-tool -for-finding-unreferenced-functions-dead-obsolete-code-in-ac) – nawfal