2017-03-07 6 views
1

javascriptの場合、匿名/ラムダ関数の指定された長さ(たとえば、5行以上)の警告を与えるeslint(またはjslint)設定があります。コールバック?javascriptラムダ/匿名関数の長さの警告がeslintまたはjslintにあります

... 
    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 
     }); 
    }); 
    }); 
    ... 

私は、ネストされた関数の数を制限することができることを知っていますが、私はの長さを考える:私はこの使用して糸くずよりクリーンなコードを強制する方法があるかどうかを確認しようとしている

これらは可能な限り短くすることもできます。

+2

[max-depth](http://eslint.org/docs/rules/max-depth)または[max-nested-callbacks](http://eslint.org/docs/rules/max-nested -callbacks)ルールが役立つかもしれません。 –

+0

私が言及したように、私はそれらを認識し、それらを使用しています。私は唯一の3つの深みの入れ子でunreadable/undebuggableを得ることができるので、長さを制限する何かを探しています... – Gyuri

答えて

1

eslint max-statementsオプションを使用すると、関数ごとに特定の数のステートメントを実行できます。

ジョーダンが述べたmax-depthおよびmax-nested-callbackは、入れ子状態やコールバックが深すぎるのを防ぐのに便利です。関数が持つことができる結果の数を意味するcomplexityを制限することにも興味があります。

+0

私はそこに "行"を制限するものはありませんが、他の言及されたオプションと相まって、十分であるはずです。 – Gyuri

関連する問題