确定未使用的方法和属性

时间:2010-01-11 21:22:39

标签: .net refactoring ndepend

我有一个独立的解决方案(在任何其他项目中都没有使用DLL,因此不必担心在其他地方使用的方法)。

我正试图找出一种方法来确定根本没有使用的每个方法/属性。

所以我不能只看私有方法/属性,我还需要检查公共方法和属性。

我过去曾使用过一个程序来执行此操作,但仅适用于私有方法/属性(它保证的东西不被其他项目使用)。即使我记得它是什么,它也无法满足我的需求。

我看过nDepend,但不确定这是否是应用程序中的标准内容,或者是否需要为它编写自定义CQL语句。

有没有人知道这样做的应用程序,或者如果nDepend可以做到这一点,那么在nDepend中做的有多难?

4 个答案:

答案 0 :(得分:9)

是的 - 我会说NDepend是这种依赖性分析的首选工具。

它提供了大量的预先封装的CQL查询来完成这类工作,编写自己的CQL查询非常简单,基于现有的模板作为模板。

最简单的是,用于检测未使用方法的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)

这只是向您展示CQL外观的示例。 NDepend提供了一个更高级的查询来查找未使用的方法。

有关详细信息,请参阅Patrick Smacchia's blog

总的来说,其他工具(FxCop和Resharper)也可以提供帮助,但这种依赖性分析是NDepend的存在理由。

答案 1 :(得分:6)

如果您启用solution wide analysis,Resharper可以为您提供此类信息。

答案 2 :(得分:1)

代码分析(FxCop)还可以找到未使用的方法和属性。它将产生警告,“没有上游呼叫者使用此功能,请考虑将其删除”

答案 3 :(得分:-1)

这是Visual Studio 2010 Ultimate中内置的。我用它。