refactoring - 您认为圈复杂度是一个有用的衡量标准吗?

标签 refactoring metrics code-metrics cyclomatic-complexity

我一直在尝试测量大型代码库的圈复杂度。

循环复杂度是通过程序源代码的线性独立路径的数量,并且有许多免费工具适合您选择的语言。

结果很有趣,但并不令人惊讶。也就是说,我所知道的毛发最多的部分实际上是最复杂的(评级> 50)。但我发现有用的是,为每个方法分配了一个具体的“坏度”数字,作为我在决定从哪里开始重构时可以指出的东西。

你使用圈复杂度吗?您发现的最复杂的代码是什么?

最佳答案

我们毫不留情地进行重构,并使用圈复杂度作为将代码列入“命中列表”的指标之一。 1-6 我们不会标记复杂性(尽管它可能会因其他原因受到质疑),7-9 是有问题的,任何超过 10 的方法都被认为是不好的,除非另有证明。

我们见过的最糟糕的情况是我们必须接管的一些遗留代码中来自可怕的 if-else-if 链的 87。

关于refactoring - 您认为圈复杂度是一个有用的衡量标准吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/745857/

相关文章:

python - Graphite:sumSeries 函数不起作用

c++ - Visual Studio 可维护性索引的层次结构仅向下到 main()

python - 你为 Python 使用了哪些重构工具?

ruby-on-rails - 使用 textmate 重构 Rails 应用程序时如何查找引用?

c# - 重构 - 速度提升

python - 为什么我的对数损失(或交叉熵)的实现没有产生相同的结果?

具有静态方法的类的 C++ 模板

java - 用于软件指标的 Eclipse 插件 - 工作区级别摘要

unit-testing - 什么可以作为代码覆盖率的替代指标?

javascript - Visual Studio Code 分析代码行对 HTML、CSS 和 Javascript 有什么作用?