如何在.net(C#)项目中标记和删除不需要的代码(方法,属性)

时间:2010-10-31 16:00:23

标签: c# refactoring

我收到了一个遗留的.Net c#解决方案,其中包含许多类库项目,用于审核,重新考虑和重用。此解决方案不会在任何地方使用并且位于代码垃圾场中。该解决方案正在正确编译。

主类库需要4种主要方法。我只想保留解决方案中所有其他项目中这4种方法使用的所有后续类,方法和属性,并删除所有其他代码,这些代码对我来说都是垃圾。目前,我将通过Visual Studio 2010的“调用层次结构”功能中的这4种主要方法进行手动跟踪。

是否有自动流程快速识别我的主要方法的相关代码并将其提取到全新的闪亮解决方案(希望成功构建),这样我只需要查看相关代码,而不需要其他不需要的代码通过我的四种主要方法。

感谢。

2 个答案:

答案 0 :(得分:3)

静态工具很有用 - 尝试NDepend - 但动态调用意味着这些方法可能会访问代码库的任何部分。尝试使用一系列单元测试运行代码覆盖率工具,例如NCover,也可以手动测试,然后分析工具的输出。

答案 1 :(得分:0)

我发现ReSharper对于检测无法访问或未使用的代码非常有用,所以我当然可以放手一搏。您可以从http://www.jetbrains.com/resharper/下载演示版。

它可能无法为您做任何事情,并且在多个类中找到未使用的代码(换句话说,未调用的公共方法)并不是那么容易,但它是一个良好的开端。

与此相关,我还建议您在进行任何重构之前先进行一系列良好的单元测试,这样您就可以轻松发现是否/何时破坏功能。