gpt4 book ai didi

cyclomatic-complexity - 圈复杂度的常见原因及解决方法

转载 作者:行者123 更新时间:2023-12-04 08:39:27 26 4
gpt4 key购买 nike

在工作中,我们正在研究导致高圈复杂度的常见问题。例如,使用大的 if-else 语句会导致高圈复杂度,但可以通过用多态替换条件来解决。你还发现了哪些其他例子?

最佳答案

参见 NDepend 的 definition of Cyclomatic Complexity .

Nesting Depth也是一个很好的代码度量标准。

圈复杂度是一个流行的程序软件度量,它等于一个程序中可以做出的决定的数量。具体来说,在 C# 中,方法的 CC 是 1 + {在方法体中找到的以下表达式的数量}:

如果|而|为| foreach |案例 |默认 |继续 |转到| && | || | catch |三元运算符 ?: | ??

以下表达式不计入 CC 计算:

其他 |做|开关|尝试|使用 |扔|终于|返回 |对象创建 |方法调用 |现场访问

适应 OO 世界,该度量是在方法和类/结构(作为其方法 CC 的总和)上定义的。请注意,在计算其外部方法的 CC 时,不计算匿名方法的 CC。

建议:CC 高于 15 的方法难以理解和维护。 CC 高于 30 的方法极其复杂,应该拆分成更小的方法(除非它们是由工具自动生成的)。

关于cyclomatic-complexity - 圈复杂度的常见原因及解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2185678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com