【发布时间】:2011-01-03 06:34:57
【问题描述】:
以下代码度量计算的首选分数范围是多少
- 可维护性指数
- 圈复杂度
- 继承深度
- 类耦合
【问题讨论】:
标签: c# visual-studio-2008 code-metrics maintainability cyclomatic-complexity
以下代码度量计算的首选分数范围是多少
【问题讨论】:
标签: c# visual-studio-2008 code-metrics maintainability cyclomatic-complexity
理论上的最优值是:
虽然可以做出一些笼统的陈述,但没有硬性和快速的“好”范围。
一个项目只能通过基本上什么都不做和无用的方式同时达到所有四个价值:什么都不做且不依赖任何东西的软件当然是可维护的,但不能很好地利用客户资金。
因此,所有复杂性都是一种权衡:额外的所谓固有复杂性将更多复杂性编码到程序中,允许它扩展功能集。您想要避免的是由糟糕或有缺陷的实现引入的意外复杂性。
【讨论】:
在过度依赖它(或完全依赖它)之前,请查看以下页面,其中提供了有关如何计算指标的更多详细信息:
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 代码上进行校准,这进一步使其无用。
(通过指出甚至不应该问原始问题来解决原始问题。)
【讨论】: