6

Visual Studio 2005 で C# アプリケーションを入手しました。コードには約 300 KLOC があり、3 年以上悪用されてきました。

コードを調べていたときに、未使用の関数/メソッド/プロパティがたくさんあることがわかりました。コードを手動でクリーンアップすることはできません (各メンバーをチェックする必要があり、参照が見つからない場合は削除します)。

コード内の各メンバーをウォークスルーする VS マクロによって、このプロセスを自動化しようとしています。参照がない場合は削除する必要があります。参照が見つかった場合は、呼び出し元のメンバーの参照を確認します。両方を削除する必要がある参照など。

誰かがそれをもっと早くクラックしただろうと確信しています。

4

5 に答える 5

13

Resharperには Clean Code 機能があり、どのメソッド/クラスが使用されていないかをかなりよく示します。

于 2009-03-05T09:36:51.637 に答える
4

リフレクション経由で呼び出されるコードには注意してください。多くのリファクタリング ツールは、実際にはアクセスされているにもかかわらず、このコードにアクセスされていないとフラグを立てます。

最も安全なのは、リファクタリングの前後に単体テストを実行して (これらは既に正しく実行されていますか?)、すべてが引き続き機能することを確認することです。

于 2009-06-01T17:55:21.567 に答える
4

CQL を使用してNDependでコード ベースをクエリし、使用されていないメソッドとクラスを見つけることができます。

于 2009-03-05T09:48:23.280 に答える
0

Gendarme (FxCop など) を使用して、呼び出されなかったコードを特定しました。私の知る限り、自動化することはできませんが、少なくとも行ごとに行う必要はありません。

于 2009-06-01T17:58:08.130 に答える
0

他の人が示唆しているように、最初に再シャープを使用します。

Resharper は、パブリック メソッドが外部アセンブリによって使用されていない場合でも、どこかで使用されていると想定するため、「public」を検索して「private」に置き換え、再コンパイルします。

于 2009-05-13T18:23:25.790 に答える