繁体   English   中英

在 JSHint 中打开循环复杂度

[英]Turn on cyclmatic complexity in JSHint

我正在使用 JSHint,我想打开圈复杂度。
JsHint 主页JsHint Docs 来看,JsHint 似乎可以衡量它。
但是在我运行这个命令之后jshint test.js来测试下面的文件

//test.js
$(document).ready(function() {
    $("p").click(function() {
        $(this).hide();
        var x = 5
    });

    function main() {
        return 'Hello, World!';
    }
});

我只得到 linting 报告(test.js: line 4, col 14, Missing semicolon., ...)

我怎样才能做到这一点?

API docs看来,您可以在JSHINT.data()之后调用JSHINT.data()来获取指标,其中包括测量复杂性:

JSHINT.data()

生成一份报告,其中包含有关最近一次 JSHINT 调用的详细信息。

例如,以下代码:

var source = [
  'function goo() {}',
  'foo = 3;'
];
var options = {
  undef: true
};
var predef = {
  foo: false
};

JSHINT(source, options, predef);

console.log(JSHINT.data());

...将产生以下输出:

{
  functions: [
    {
      name: 'goo',
      // ...
      metrics: {
        complexity: 1,
        parameters: 0,
        statements: 0
      }
      // ...

这将显示测量的复杂性。

请注意,这与maxcomplexity规则完全分开 - 如果启用,并且您将其设置得足够低,并且您的函数足够复杂,则 linting 输出将包含错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM