Visual studio 2008 为什么即使圈复杂度、类耦合和代码行减少了,项目的可维护性指数也会降低?

Visual studio 2008 为什么即使圈复杂度、类耦合和代码行减少了,项目的可维护性指数也会降低?,visual-studio-2008,code-metrics,Visual Studio 2008,Code Metrics,对于我的C#项目,重构后的代码度量增量为: 可维护性指数:-4 圈复杂度:-48 继承深度:0 类联轴器:-9 代码行:-85 当公式为: MI=MAX(0,(171-5.2*ln(Halstead体积)-0.23*(圈复杂度)-16.2*ln(代码行))*100/171)?可能选项:1)Halstead体积增加;2) 您使用的MI变量考虑了注释 不确定是否还有人关心答案,但是 维修性指数公式使用平均HV、CC和LOC。 因此,一个可能的解释是,您删除了一个或两个小类,这对平均大小和MI都不

对于我的C#项目,重构后的代码度量增量为:

  • 可维护性指数:-4
  • 圈复杂度:-48
  • 继承深度:0
  • 类联轴器:-9
  • 代码行:-85
当公式为:


MI=MAX(0,(171-5.2*ln(Halstead体积)-0.23*(圈复杂度)-16.2*ln(代码行))*100/171)?

可能选项:1)Halstead体积增加;2) 您使用的MI变量考虑了注释

不确定是否还有人关心答案,但是

维修性指数公式使用平均HV、CC和LOC。 因此,一个可能的解释是,您删除了一个或两个小类,这对平均大小和MI都不好


MI使用平均值的事实只是可维护性指数的一个例子,因此您最好忽略它。

无法真正验证这两个选项,因为我编写的代码已不再适用于我,但您已经指出了仅有的两个选项,我将接受答案。谢谢Microsoft对Visual Studio使用的MI的描述使用了问题中提供的公式,即不考虑注释。