问题标签 [cyclomatic-complexity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何降低 if-else 语句中的圈复杂度
在这种情况下,您将如何降低循环复杂度
假设我有 30 个或更多。
c# - 在 switch 与字典中的 Func 值,哪个更快,为什么?
假设有以下代码:
通过迭代这两种方法并进行比较,我发现字典稍微快了一点,即使“a”、“b”、“c”、“d”被扩展为包含更多键。为什么会这样?
这与圈复杂度有关吗?是因为jitter只将字典中的return语句编译为本机代码一次吗?是不是因为字典的查找是 O(1),而switch 语句可能不是这种情况?(这些只是猜测)
unit-testing - 测量数据映射函数和闭包的圈复杂度
根据圈复杂度的基本规则,以下代码的复杂度应为 2(只有一个分支点 - for 循环)。
很多现代框架等都提供了数据映射功能,比如或者框架jQuery.each()
中的大部分方法。Underscore.js
考虑以下代码:
按照圈复杂度的典型规则,第二个例子的CC度量为1。工作完全相同,函数的人为复杂度根本没有改变。我所做的只是将一种循环数据的方式换成另一种循环数据的方式。
同样考虑这个人为的例子,我们将原始函数的内部包装在一个自调用闭包中,为外部方法生成 1 的圈复杂度,而实际上并未改变方法的工作方式:
圈复杂度的真正度量是否应该包括对数据映射/减少方法的考虑,例如jQuery.each()
特别是在使用匿名局部闭包时?
也许闭包应该将其复杂性导出到关闭的父级。另外,也许一般的方法应该能够定义一个导出复杂度,该复杂度被添加到调用它的任何函数的复杂度中——例如jQuery.each()
,导出复杂度可能应该为 1,以便使用它代替正常循环计数复杂度相同.
vb6 - Legacy VB6.0 应用程序中的圈复杂度
建议任何 应该支持VB6.0的工具
我正在寻找以下指标
代码分析
代码可维护性指数
圈复杂度
xml - CyVis 0.9 Ant 任务无法生成 html 报告
我目前正在尝试为使用 CyVis 0.9 作为其工具之一的 Java 项目制作 Ant 构建文件。我遇到了一个问题,我无法让它生成 html 报告。下面是我的 build.xml 文件中的确切代码,该文件几乎完全取自 CyVis 网站上的教程。目前,它正在生成文本报告就好了;但是,文本报告的帮助不大。
我已经在团队成员的计算机上运行了完全相同的代码,并且运行良好。从那以后,我重新安装了 CyVis 和 Ant,但运气不佳。
运行构建后,我得到以下输出:
注释掉 html 报告时,构建成功,但只生成文本报告。我没有运气研究这个错误,也看不出我和我同事的设置有什么不同。
java - java中自动计算圈复杂度的工具?
是否有任何可用于 Java 的工具可以自动确定给定 Java 代码的圈复杂度?我在网上找了工具,还没有找到。
cyclomatic-complexity - IF((A>B) AND (C>D)) 和 IF((A>B) OR (C>D)) 的圈复杂度
我想知道两段代码的圈复杂度,
据我所知,上述代码的圈复杂度=2+1=3,
另一个代码
上述代码的复杂度为=4+1=5,
上述复杂性是否正确?
c# - 如何在 Jenkins 中获得 C# 代码的代码指标?
如何在 Jenkins 中实现 C# 代码的代码指标,例如循环复杂度?
c# - 如何自动提高 c# 控制流复杂度?
我搜索了一种自动工具来重构和重新排列 c# 代码块以提高控制流的复杂性。我有一个凌乱的 C# 代码,它使用“GOTO”和“switch”而不是“while & for”循环:
这是非常复杂的自动生成的意大利面条 C# 代码。我尝试通过 Re-sharper & VS 手动改进它,并用“For”循环替换“GOTO”循环并重新排列代码块,我得到了这个代码:
我想让代码更具可读性和格式。但是手动更改非常困难且耗时。那么是否有任何工具可以分析逻辑并自动执行此过程?
谢谢
c#-4.0 - 静态字典如何具有圈复杂度?
我有以下课程:
但是,Microsoft 代码分析将此标记为具有 27 的圈复杂度。我不明白为什么一系列带有委托的 Add 调用会导致如此高的圈复杂度。
我能做些什么来降低圈复杂度?