首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >和其他自动代码分析器的启示?

和其他自动代码分析器的启示?
EN

Stack Overflow用户
提问于 2008-11-18 16:37:49
回答 2查看 1.1K关注 0票数 5

从昨天开始,我就用尼丁 (免费的大部分功能)来分析我们的一个项目,而且我正在使用它,我对这种软件(代码分析软件)的真正价值有更多的怀疑。

让我来解释一下,这个系统建立了一份关于系统和类的健康状况的报告,按等级排列每一个度量。我认为这将是一个很好的起点来进行修改,但是大部分的顶级结果都在这里,因为它们在类中有超过100行(我们有很大的标题,我们确实使用VS注释样式),所以这不是什么大问题。而传入耦合级(CA)的数目总是太高,这对于我们经常使用的接口来说几乎是正确的。因此,在这个时候,我没有看到什么问题,但NDepend似乎不喜欢它(如果您有改进的建议,告诉我,因为我不认为需要)。我的接口大部分都太高了,这是一种名为"NOC“的儿童数量的度量方法。

就目前而言,唯一有用的指标是循环复杂度.

,我的问题是:你觉得用像NDepend这样的自动代码分析器来分析代码值得吗?如果是的话,你如何过滤所有的信息,我提到的,没有真正显示系统的真正健康?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-11-18 23:02:29

实际上,度量只是NDepend的一个特性,您是否尝试过使用VisualNDepend来比报告更深入地分析您的项目?通过阅读您的评论,我几乎可以肯定您没有使用NDepend UI (独立或集成在Visual中),这是筛选有关代码库数据的最佳方法。

我是NDepend的开发人员之一,我们经常使用它来分析我们自己的代码。基本上,我们用LINQ查询(CQLinq)上的代码规则编写我们自己的质量规则。这些规则自动确保我们的设计没有倒退。在这里,您可以找到关于200默认代码规则的列表。

以下是NDepend的一些独特特性,这些特性与代码度量无关:

  • 编写CQLinq规则以确保我们没有架构缺陷,例如组件之间的依赖周期直接使用DB的UI或DB与业务对象纠缠在一起。
  • 确保我们在测试代码覆盖率方面没有问题(就像我们确保使用CQLinq规则,如果一个类应该100%覆盖,它将在未来保持100%的覆盖率。)
  • 强制执行无副作用代码(不变类/pure方法)
  • 在执行新版本之前,使用比较2分析与代码自上一版本以来的更改的能力。更具体地说,我喜欢使用NDepend来了解自上一次版本发布以来,哪个方法已被添加和重构,并且没有100%地被测试覆盖。
  • 对所有成员和类型(如知道哪些内部方法可以声明为私有方法)进行最佳封装。这也与死码检测相关,NDepend也支持它。

有关完整的功能列表( if NDepend ),请参见这里

票数 2
EN

Stack Overflow用户

发布于 2008-11-18 20:08:49

我不一定认为NDepend结果是“好”或“坏”在软件工程中,总是有一个很好的理由,为什么一个应用程序是这样设计的。我把它看作是一份报告,也许可以帮助我指出我的设计中的问题,但在决定一个方法是否需要重构,或者我设计的方法是否好的时候,我有一个最后的结论。一般来说,不要太纠结于回答是否值得回答。确实如此,相反,我建议你仔细审查结果。这将帮助您从另一个角度来查看您的设计,在某些情况下,您可能会决定您设计的方式,这是实现您的应用程序目标的最佳方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/299296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档