【问题标题】:Turn off cyclmatic complexity in JSHint关闭 JSHint 中的圈复杂度
【发布时间】:2013-11-20 09:01:52
【问题描述】:

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

我该怎么做?

【问题讨论】:

  • 你是如何使用 jshint 的?你在用咕噜声吗?哪个 NPM?如果您想要一个准确的答案,您需要澄清这一点。
  • 你读过documentation吗?
  • 是的,例如 grunt,我启用它只是在终端 jshint 静态服务器中写入,其中静态服务器是我需要使用 jshint 检查的文件夹
  • 是的,我想这是我找到的第一个链接
  • 此选项可让您控制整个代码的圈复杂度。圈复杂度衡量通过程序源代码的线性独立路径的数量。在 Wikipedia 上阅读有关圈复杂度的更多信息。都是=)

标签: javascript node.js jshint cyclomatic-complexity


【解决方案1】:

假设我们的函数名为 x。那么我们就应该这样写:

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

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

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

【讨论】:

    【解决方案2】:

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

    /*jshint maxcomplexity:0 */
    

    被告知

    应为小整数或“假”,但看到的是“0”。

    于是尝试了以下方法

    /*jshint maxcomplexity:false */
    

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        小心。 JSHint 不能正确计算圈复杂度。示例:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-09-11
          • 2016-11-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多