确定未使用的方法和属性

Bre*_*len 4 .net refactoring ndepend

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

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

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

我过去使用过一个程序来完成这项工作,但仅限于私有方法/属性(它保证的东西不被其他项目使用).即使我记得它是什么,它也无法满足我的需求.

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

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

Rob*_*ine 9

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

它带有大量的预先封装的CQL查询,可以完成这类工作,编写自己的Cql查询非常简单,基于exisitng作为模板.

最简单的是,用于检测未使用方法的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)
Run Code Online (Sandbox Code Playgroud)

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

有关详细信息,请参阅Patrick Smacchia的博客.

总的来说,其他工具(FxCop和Resharper)也可以帮助解决这个问题,但这种依赖性分析是NDepend的存在理由.


Jef*_*Cyr 6

如果您启用解决方案范围的分析, Resharper可以为您提供此类信息.