4

我有一个独立的解决方案(没有一个 DLL 用于任何其他项目,所以不用担心在其他地方使用方法)。

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

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

我过去使用了一个程序来执行此操作,但仅用于私有方法/属性(它保证不会被另一个项目使用的东西)。即使我能记住它是什么,它也不能满足我的需要。

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

有谁知道这样做的应用程序,或者如果 nDepend 可以做到,在 nDepend 中做起来有多难?

4

4 回答 4

9

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

它带有大量预先准备好的 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 的博客

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

于 2010-01-11T21:36:06.607 回答
6

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

于 2010-01-11T21:26:30.517 回答
1

代码分析 (FxCop) 还可以定位未使用的方法和属性。它将生成警告“没有上游调用者使用它,考虑删除它”

于 2010-01-11T21:28:46.377 回答
-1

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

于 2011-09-02T21:09:27.637 回答