Javascript lambda/anonymous eslint 或 jslint 中的函数长度警告

Javascript lambda/anonymous function length warning in eslint or jslint

对于 javascript,是否有 eslint(甚至 jslint)设置对给定长度(例如:超过 5 行)的 anonymous/lambda 函数,尤其是回调发出警告?

我正在尝试查看是否有一种方法可以使用 lint 执行比这更干净的代码:

  ...
  var a = foo(b, function(c, cb1) {
    // dozens of lines of code
    cb1(d, function(e, cb2){
      // dozens of lines of code
      cb2(f, function(g, cb3) {
        // dozens of lines of code
        cb3(...);
        // dozens of lines of code
      });
    });
  });
  ...

我知道可以限制嵌套函数的数量,但我认为这些函数的长度也可以尽可能短。

您可以使用 eslint max-statements 选项强制每个函数执行一定数量的语句。

Jordan 提到的 max-depth 和 max-nested-callbacks 对于防止嵌套条件和回调太深很有用。您可能还对限制 complexity 感兴趣,这意味着一个函数可以有多少个不同的结果。