【发布时间】:2011-08-12 13:58:22
【问题描述】:
Cyclomatic complexity 衡量一个函数可以有多少个可能的分支。是否有现有的函数/工具来计算 R 函数?如果没有,我们非常感谢您提出最佳写作方式的建议。
一个廉价的开始是计算你的函数中出现的所有if、ifelse 或switch。但是,要获得真正的答案,您需要了解分支何时开始和结束,这要困难得多。也许一些 R 解析工具可以帮助我们入门?
【问题讨论】:
-
与此相关,查看实际占用了多少分支会很有用。为此,各种代码覆盖率指标可以提供帮助。不过,我还不知道有任何 R 代码覆盖工具。
-
可以this question 相关吗? Eclipse 的metrics plugin 可能会让我再次使用 Eclipse,如果这适用于 R。
-
对于大量的 cmets 感到抱歉,但我更喜欢发布带有答案的答案。 :) 你能解释一下为什么你想要圈复杂度吗?在实践中,我发现处理异常值和不良数据需要在我的代码中使用大量单独的 if 语句,这将运行 cyc。比较很多。这还不错,但是执行(测试和部署)代码的实际覆盖率对于确保处理异常值和异常很重要。
-
我错了 - 指标插件是 just for Java。希望破灭的声音是什么?
-
高圈复杂度可以用作“也许我应该重构这段代码”或至少“Richie,你把自己弄得一团糟和过于复杂的事情”的代理。它只是提供了另一种清除 cr*ppy 代码的方法。
标签: r complexity-theory cyclomatic-complexity