对于javascript,是否有一个eslint(甚至是jslint)设置来给出匿名/ lambda函数的给定长度(例如:超过5行)的警告,尤其是回调?
我正在尝试使用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
});
});
});
...
我知道嵌套函数的数量可以限制,但我认为这些函数的长度也可以尽可能短。
答案 0 :(得分:1)
您可以使用eslint max-statements选项为每个功能强制执行一定数量的语句。
Jordan提到的max-depth和max-nested-callback对于防止嵌套条件和回调过深非常有用。您可能也有兴趣限制complexity,这意味着函数可以有多少不同的结果。