我正在使用 JSHint,我想关闭圈复杂度。
我怎样才能做到这一点?
假设我们的函数名为 x。然后我们应该写这个:
function x () {
/*jshint maxcomplexity:6 */
}
其中 6 是数字 js 提示通常在控制台中这样说:
static/desktop.blocks/days/days.js: line 57, col 27,这个函数的圈复杂度太高了。(6)
我尝试在文件顶部放置以下内容:
/*jshint maxcomplexity:0 */
并被告知
需要一个小整数或“假”,而是看到“0”。
所以然后尝试了以下
/*jshint maxcomplexity:false */
并发现它确实关闭了圈复杂度警告。
我们可以通过配置文件.jshintrc来关闭 jshint 中函数的圈复杂度,如下所示:
"maxcomplexity" : false, // {int} Max cyclomatic complexity per function
谨防。JSHint 不能正确计算圈复杂度。例子:
function result(a, b, c) {
return a || b || c;
}
这里的复杂度是 1;没有分支,没有循环。如果将 maxcomplexity 设置为小于 3,则 JSHint 错误。http://www.jshint.com 上的 REPL也报告 3。