2010-01-07 150 views

回答

19

您可以尝试FxCop,它以Visual Studio 2008的名称集成在Visual Studio 2008中。您只需右键单击项目文件和“运行代码分析”即可。

的FxCop是分析托管代码组件(代码针对.NET Framework公共语言运行时)以及有关组件,例如可能的设计,定位,性能和安全性的改善的报告信息的应用程序。

活动规则可以在项目属性的代码分析部分进行配置。例如,与使用情况相关的一些规则存在于使用规则和性能规则中:

  • CA1801:查看未使用的参数。
  • CA1811:避免未调用的私人代码。

为了更大的灵活性,您还可以编写自己的自定义规则(Tutorial on writing your own Code Analysis rule)。

2

安装JetBrains ReSharper这将突出显示未使用的代码给你。

+0

它会在文件中突出显示它,但它不会在整个解决方案中找到死代码。这是我认为解决方案范围分析将提供的功能之一。 – 2010-01-07 12:52:37

+0

@Jamie Ide - 但是,如果启用解决方案范围的分析,它可以让您从警告导航到警告,即使是跨文件导航,我想呢? – 2010-01-07 12:55:12

0

虽然我不会推荐这个用于大型代码库,但您可以手动执行一定的操作。

如果你右键点击一个方法或类,然后选择“Find Usages”,你会得到所有引用它的地方的输出。显然,如果不使用它,它将是空的。

对于正在进行清理我安装ReSharper

+0

我手动做了一定数量。那是当我提出这个问题的时候。 – TalkingCode 2010-01-07 14:19:21

+0

@霍利 - 够公平的。 – ChrisF 2010-01-07 14:49:54

1

Shift + F12在VS是一个快速检查:)

2

这样做的一个非常有用的工具是NDepend依赖性分析工具是有用的。您可以将Visual Studio项目加载到该项目中,并将分析所有程序集,类型和方法的依赖关系。它为您提供了丰富的关于依赖关系的信息,包括(但绝不限于!)方法/类型,根本不用任何东西。

您可以查看依赖关系以图形,或在列表中,并能编写自己的定制依赖查询,像这样 - 一个简单的CQL查询显示潜在的未使用的方法:

SELECT 
    METHODS   // Get me a list of methods 
WHERE 
    MethodCa == 0 // Where their afferent coupling is zero, (afferent coupling being the number of other methods that call it) 

一个高度推荐的工具。

相关问题