2009-03-05 36 views
6

私はVisual Studio 2005でC#アプリケーションを入手しました。 コードには3年間にわたって悪用されている300のKLOCがあります。不要なコードをクリーンアップするC#

私がコードを調べるときに、未使用の関数/メソッド/プロパティがたくさんあることがわかりました。

私は、このプロセスを自動化するために、VSマクロを使用しています。これは、コード内の各メンバーを処理します。参照を見つけた場合は削除する必要があります。メンバーを呼び出す場合は呼び出し元の参照を確認し、削除する必要がある参照はありません。

私は確かに、それを早く分解した人もいます。

+1

うまくいけば、アプリはメソッドを呼び出すためにリフレクションを使用しません。 – kenny

答えて

13

Resharperには、クリーンコード機能があり、どのメソッド/クラスが使用されていないかがわかります。

+0

自動化されているかどうかはわかりませんが、Resharperはメソッドに参照があるかどうかを示します。 –

4

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

+0

NDependは、最もよく使用される型、型間の依存関係、直接的および間接的依存関係、型とメソッドの測定された複雑さなどに関する情報を提供することにより、コードベースの理解をさらに深めるのに役立ちます。 – flq

0

1回目の再シャープ以外にも提案しています。

Resharperは外部のアセンブリのどこかでパブリックメソッドが使用されていると仮定しています。そうでない場合でも "public"を "private"に置き換えて再コンパイルします。

4

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

最も安全なことは、リファクタリングの前後でユニットテストを実行していることです。

0

私はGendarme(FxCopなど)を使用して、どのコードが呼び出されていないかを判断しました。 AFAIKは自動化することはできませんが、少なくとも行単位で移動する必要はありません。

関連する問題