closuresJSHint中的循环复杂性

我正在使用JSHint,我想closures复杂性。

我怎样才能做到这一点?

假设我们的函数被命名为x。 那么我们应该写下这个:

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

数字js暗示6通常在控制台这样说:

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

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

 /*jshint maxcomplexity:0 */ 

被告知

期望一个小整数或'假',而是看到'0'。

所以然后尝试以下

 /*jshint maxcomplexity:false */ 

并发现它确实closures了圈复杂性警告。

我们可以通过configuration文件.jshintrc来closuresjshint中函数的圈复杂度:

 "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。

Interesting Posts