首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual中的代码度量计算

Visual中的代码度量计算
EN

Stack Overflow用户
提问于 2010-01-09 14:56:43
回答 2查看 16.5K关注 0票数 41

以下代码度量计算的首选得分范围是多少?

  • Maintainability Index
  • Cyclomatic Complexity
  • Depth of Inheritance
  • class偶合
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-09 15:05:09

理论上的最优值是:

  • Maintainability指数: 100。较高的值表示更好的maintainability.
  • Cyclomatic复杂度: 1.代码可以采用的不同路径数。
  • 的继承深度: 1.继承树中这一项之上的类定义数,不包括interfaces.
  • Class耦合: 0。此实体所依赖的其他实体的数目。

没有硬和快速的“好”范围,虽然它可以作出一些一般性的声明。

具有较高的单方法圈复杂度的

  • 表明,一个方法获得的继承深度超过3或4个(您自己的类,而不是框架的),这是一个麻烦的迹象,表明您可能不必要地表示不属于您的软件领域的抽象关系。
  • 低级类耦合一般更好,但有时是不可避免的。在可能的范围内,您肯定应该最小化名称空间之间的依赖,因为这里的依赖关系要少得多。

一个项目只能通过不做任何事情和无用的事情同时达到所有的四个值:不做任何事情而不依赖任何东西的软件当然是可维护的,但是不能很好地使用客户端的钱。

因此,所有复杂性都是一种权衡:额外的所谓固有复杂性将更复杂的代码编码到程序中,允许它扩展功能集。您希望避免的是一个糟糕的或有缺陷的实现所带来的意外复杂性。

票数 66
EN

Stack Overflow用户

发布于 2022-01-04 16:53:58

在过度依赖它(或完全依赖它)之前,请检查下面的页面,其中提供了度量计算方法的更详细信息:

https://avandeursen.com/2014/08/29/think-twice-before-using-the-maintainability-index/

VS的可维护性指数是一种未经验证的度量组合,它本身依赖一个度量(圈复杂度),该度量已被证明与代码可理解性(因此与可维护性无关)无关。参见Scalabrino等人的“自动评估代码可理解性:我们有多远?”。和https://shape-of-code.com/?s=cyclomatic+complexity

此外,在这个度量中使用的常量和函数选择还没有在C#或VB代码上进行校准,这进一步使它变得无用。

(这是针对原来的问题,指出根本不应提出原来的问题。)

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

https://stackoverflow.com/questions/2033743

复制
相关文章

相似问题

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