在.net项目中查找未使用的类
我有一个VS.NET2008项目。是否可以检查项目中未使用的类?使用FXcop,我可以找到未使用的变量和未使用的代码,但不能找到未使用的类。(在解决方案范围内选中)会自动通知您项目和解决方案中未使用的类。该工具可以帮助在.NET代码库中查找未使用的代码。免责声明:我是这个工具的开发者之一 为了详细说明一下,NDepend建议写一篇文章。提出了四种方法,其中三种专门用于未使用/死代码检测 基本上,检测未使用方法的规则(例如)如下所示:在.net项目中查找未使用的类,.net,visual-studio,refactoring,.net,Visual Studio,Refactoring,我有一个VS.NET2008项目。是否可以检查项目中未使用的类?使用FXcop,我可以找到未使用的变量和未使用的代码,但不能找到未使用的类。(在解决方案范围内选中)会自动通知您项目和解决方案中未使用的类。该工具可以帮助在.NET代码库中查找未使用的代码。免责声明:我是这个工具的开发者之一 为了详细说明一下,NDepend建议写一篇文章。提出了四种方法,其中三种专门用于未使用/死代码检测 基本上,检测未使用方法的规则(例如)如下所示: // <Name>Dead Methods<
// <Name>Dead Methods</Name>
warnif count > 0
from m in Application.Methods where !m.MethodsCallingMe.Any()
select m
//死方法
如果计数大于0,则警告
从m开始应用。方法在哪里!m、 MethodScalingMe.Any()
选择m
但这条规则很幼稚,只会返回微不足道的误报。在许多情况下,一个方法从未被调用,但它并未被使用(入口点、类构造函数、终结器…),这就是为什么3个默认规则更加详细的原因:
- (因此检测未使用的类、结构、接口、委托…)
除了使用这3条规则外,我还建议通过测试测量代码覆盖率,并努力实现完全覆盖。通常,您会看到测试无法覆盖的代码实际上是可以安全丢弃的未使用/死代码。这在复杂算法中尤其有用,因为在复杂算法中,不清楚代码分支是否可访问。删除类时要小心。它可能仍然被预处理器后面的代码使用,或者被当前未加载的项目使用。有没有办法运行“报告”来告诉我解决方案中的哪些类是未使用的?