代码之家  ›  专栏  ›  技术社区  ›  Brett Allen

确定未使用的方法和属性

  •  4
  • Brett Allen  · 技术社区  · 16 年前

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

    我正试图找出一种方法来确定所有不使用的方法/属性。

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

    我以前使用过这样的程序,但只用于私有方法/属性(它保证其他项目不会使用这些方法/属性)。即使我能记得它是什么,它也不能满足我的需要。

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

    有人知道这样做的应用程序吗,或者如果ndepend可以做到,那么在ndepend中做有多困难?

    4 回复  |  直到 14 年前
        1
  •  6
  •   Jeff Cyr    16 年前

    如果您启用 solution wide analysis .

        2
  •  9
  •   Rob Levine    16 年前

    是的-我想说,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's blog 更多信息。

    总的来说,其他工具(fxcop和resharper)也可以帮助解决这个问题,但是这种依赖性分析是ndepend的理由。

        3
  •  1
  •   STW    16 年前

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

        4
  •  -1
  •   Jerry Nixon    14 年前

    它内置于Visual Studio 2010 Ultimate中。我用它。