6

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

当我浏览代码时,发现了很多未使用的函数/方法/属性。手动清理代码是不可能的(需要检查每个成员,如果发现没有引用将其删除。)

我希望通过 VS 宏自动化这个过程,它将遍历代码中的每个成员,如果它没有任何引用,它应该删除它,如果找到任何引用,检查它的调用成员的引用,如果调用成员没有任何引用都应该删除,依此类推。

我敢肯定有人会更早地破解它。

4

5 回答 5

13

Resharper有一个 Clean Code 功能,可以很好地指示哪些方法/类没有被使用。

于 2009-03-05T09:36:51.637 回答
4

您可以使用NDepend使用 CQL查询您的代码库,以找出哪些方法和类没有被使用。

于 2009-03-05T09:48:23.280 回答
4

注意通过反射调用的代码。许多重构工具会将此代码标记为未被访问,而实际上它们是。

最安全的是在重构之前和之后运行你的单元测试(你已经做对了吗?),以确保一切仍然有效。

于 2009-06-01T17:55:21.567 回答
0

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

Resharper 假设外部程序集在某处使用公共方法,即使它们不是,所以搜索并用“私有”替换“公共”并重新编译。

于 2009-05-13T18:23:25.790 回答
0

我使用宪兵(如 FxCop)来确定哪些代码没有被调用。AFAIK 它不能自动化,但至少你不需要逐行进行。

于 2009-06-01T17:58:08.130 回答