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。