2017-03-07 10 views
1

javascript의 경우 익명/람다 함수의 특정 길이 (예 : 5 줄 이상)에 대해 경고를 줄 수있는 eslint (또는 jslint) 설정이 있습니까? 특히 콜백?javascript lambda/익명 함수 길이 경고 (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

내가 언급했듯이 나는 그것들을 알고 있고 그것들을 사용하고있다. 나는 깊이를 중첩하는 것으로 unreadable/undebuggable을 얻을 수 있기 때문에 길이를 제한하는 무언가를 찾고있다. – Gyuri

답변

1

eslint max-statements 옵션을 사용하여 함수 당 특정 수의 명령문을 적용 할 수 있습니다.

요르단에서 언급 한 max-depth 및 max-nested-callback은 중첩 조건과 콜백을 너무 심하게 막는 데 유용합니다. 함수가 가질 수있는 결과의 수를 나타내는 complexity을 제한하는 데 관심이있을 수 있습니다.

+0

나는 'lines'을 제한 할 것이 없다고 생각하지만 max-statements를 사용하는 것은 어쨌든 선보다 의미가있다. 다른 언급 된 옵션과 결합 된 것으로 충분해야합니다. – Gyuri