14

我正在使用 JSHint,我想关闭圈复杂度。

我怎样才能做到这一点?

4

4 回答 4

16

假设我们的函数名为 x。然后我们应该写这个:

function x () {
    /*jshint maxcomplexity:6 */
}

其中 6 是数字 js 提示通常在控制台中这样说:

static/desktop.blocks/days/days.js: line 57, col 27,这个函数的圈复杂度太高了。(6)

于 2013-11-08T13:55:32.020 回答
4

我尝试在文件顶部放置以下内容:

/*jshint maxcomplexity:0 */

并被告知

需要一个小整数或“假”,而是看到“0”。

所以然后尝试了以下

/*jshint maxcomplexity:false */

并发现它确实关闭了圈复杂度警告。

于 2014-05-06T18:46:52.860 回答
0

我们可以通过配置文件.jshintrc来关闭 jshint 中函数的圈复杂度,如下所示:

"maxcomplexity" : false,       // {int} Max cyclomatic complexity per function
于 2017-09-12T09:35:22.370 回答
-3

谨防。JSHint 不能正确计算圈复杂度。例子:

function result(a, b, c) {
  return a || b || c;
}

这里的复杂度是 1;没有分支,没有循环。如果将 maxcomplexity 设置为小于 3,则 JSHint 错误。http://www.jshint.com 上的 REPL报告 3。

于 2014-09-03T23:55:45.280 回答