关闭JSHint中的循环复杂性

时间:2013-11-08 11:08:09

标签: javascript node.js jshint cyclomatic-complexity

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

我该怎么做?

4 个答案:

答案 0 :(得分:15)

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

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

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

  

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

答案 1 :(得分:4)

我尝试在我的文件顶部添加以下内容:

/*jshint maxcomplexity:0 */

被告知

  

预期小整数或“假”'而是看了' 0'。

然后尝试以下

/*jshint maxcomplexity:false */

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

答案 2 :(得分:0)

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

"maxcomplexity" : false,       // {int} Max cyclomatic complexity per function

答案 3 :(得分:-3)

当心。 JSHint无法正确计算圈复杂度。例如:

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

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