Visual Studio中的代码度量计算

Asa*_*sad 38 c# maintainability cyclomatic-complexity code-metrics visual-studio-2008

以下代码指标计算的首选分数范围是多少?

  • 可维护性指数
  • 循环复杂性
  • 继承的深度
  • 班级耦合

Joh*_*lla 64

理论上的最佳值是:

  • 可维护性指数:100.值越高表示可维护性越好.
  • 循环复杂性:1.代码可以采用的不同路径的数量.
  • 继承深度:1.继承树中这个类定义的数量,不包括接口.
  • 类耦合:0.此实体所依赖的其他实体的数量.

尽管可以做出一些一般性的陈述,但没有硬性和快速的"好"范围.

  • 具有高的每方法圈复杂性表明方法变得太复杂.
  • 继承深度超过大约3或4(您自己的类,而不是框架的)是一个麻烦的迹象,您可能不必要地表示实际上不在您的软件领域的抽象关系.
  • 低级耦合通常更好,但有时它是不可避免的.在可能的情况下,您绝对应该最小化命名空间之间的依赖关系,因为这里依赖关系的原因要少得多.

一个项目只能通过基本上什么都不做而无用而同时达到所有四个值:什么也不做,什么都不依赖的软件肯定是可维护的,但不能很好地利用客户资金.

因此,所有复杂性都是一种权衡:额外的所谓固有复杂性将更复杂的程序编码到程序中,允许它扩展功能集.您希望避免的是由于实施不当或不足而引入的意外复杂性.

  • 确实没有硬性和快速的好范围.特别是如果你使用表达式树或新动态关键字之类的东西,你的类耦合会被射到月球上. (5认同)