我使用Visual Studio 2005获得了一个C#应用程序。 该守则有大约300个KLOC,已被滥用超过3年。
当我通过代码时发现了很多未使用的函数/方法/属性。无法手动清理代码(需要检查每个成员,如果找不到引用则删除它。)
我希望通过VS宏自动完成这个过程,它将遍历代码中的每个成员,如果它没有任何引用它应该删除它,如果找到任何引用,检查其调用成员的引用,如果调用成员,没有任何参考,它应该删除两者等等。
我相信有人会早点破解它。
答案 0 :(得分:13)
Resharper具有清洁代码功能,可以很好地指示哪些方法/类没有被使用。
答案 1 :(得分:4)
您可以使用CQL使用NDepend查询代码库,以找出未使用的方法和类。
答案 2 :(得分:4)
小心通过反射调用的代码。许多重构工具会将此代码标记为实际上不被访问。
最安全的是在重构之前和之后运行你的单元测试(你有没有这些?)确保一切仍然有用。
答案 3 :(得分:0)
第一次使用re-sharper正如其他人所建议的那样。
Resharper假设公共方法在外部程序集的某处使用,即使它们不是,因此搜索并将“public”替换为“private”并重新编译。
答案 4 :(得分:0)
我使用Gendarme(如FxCop)来确定未调用哪些代码。 AFAIK它不能自动化,但至少你不需要一行一行。