我必须重构一个大型的c#应用程序,我发现了许多从未使用过的函数。我如何检查未使用的代码,所以我可以删除所有未使用的函数?
当前回答
事实上,这个工具永远不能给你一个100%确定的答案,但是覆盖率工具可以让你的钱花得很值。
如果您使用全面的单元测试套件,那么您可以使用测试覆盖工具来查看在测试运行期间哪些代码行没有执行。您仍然需要手动分析代码:要么消除您认为的死代码,要么编写测试以提高测试覆盖率。
其中一个这样的工具是NCover,它在Sourceforge上有开源前驱。另一种选择是PartCover。
在stackoverflow上看看这个答案。
其他回答
我遇到过AXTools CODESMART..试一次。 在审查部分使用代码分析器。它将列出死的局部和全局函数 其他问题。
FXCop是一个代码分析器…它的功能远不止查找未使用的代码。我用了FXCop一段时间,对它的建议太着迷了,所以我把它卸载了。
我觉得NDepend看起来更有可能。
是的,ReSharper会这样做。右键单击您的解决方案并选择“查找代码问题”。其中一个结果就是“未使用的符号”。这将显示未使用的类、方法等。
Resharper是好的,就像其他人所说的。但是要注意,这些工具不会找到反射使用的代码,例如不能知道某些代码没有被反射使用。
ReSharper在寻找未使用的代码方面做得很好。
在VS IDE中,你可以右键单击定义并选择“查找全部” 引用,尽管这只适用于解决方案级别。
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 为什么Visual Studio 2015/2017/2019测试运行器没有发现我的xUnit v2测试
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 没有ListBox。SelectionMode="None",是否有其他方法禁用列表框中的选择?
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何在iis7应用程序池中设置。net Framework 4.5版本