清理不需要的代码C#

时间:2009-03-05 09:31:47

标签: c# visual-studio-macros

我使用Visual Studio 2005获得了一个C#应用程序。 该守则有大约300个KLOC,已被滥用超过3年。

当我通过代码时发现了很多未使用的函数/方法/属性。无法手动清理代码(需要检查每个成员,如果找不到引用则删除它。)

我希望通过VS宏自动完成这个过程,它将遍历代码中的每个成员,如果它没有任何引用它应该删除它,如果找到任何引用,检查其调用成员的引用,如果调用成员,没有任何参考,它应该删除两者等等。

我相信有人会早点破解它。

5 个答案:

答案 0 :(得分:13)

Resharper具有清洁代码功能,可以很好地指示哪些方法/类没有被使用。

答案 1 :(得分:4)

您可以使用CQL使用NDepend查询代码库,以找出未使用的方法和类。

答案 2 :(得分:4)

小心通过反射调用的代码。许多重构工具会将此代码标记为实际上不被访问。

最安全的是在重构之前和之后运行你的单元测试(你有没有这些?)确保一切仍然有用。

答案 3 :(得分:0)

第一次使用re-sharper正如其他人所建议的那样。

Resharper假设公共方法在外部程序集的某处使用,即使它们不是,因此搜索并将“public”替换为“private”并重新编译。

答案 4 :(得分:0)

我使用Gendarme(如FxCop)来确定未调用哪些代码。 AFAIK它不能自动化,但至少你不需要一行一行。