2011-10-30 4 views
1

편집을 반환하는 데 실패 할 수 있습니다 주장 : Syntastic이 JSLintSyntastic 기능이

EDIT2를 사용하도록 구성되어 있습니다 : 나는 아래의 코드 syntastic에 JavascriptLint하지 JSLint

을 사용하고하는 것은 function inside does not always return a value

function(){ 
switch(age){ 
case 1: 
    return 'won'; 
case 2: 
    return 'too'; 
case 3: 
    return 'tree'; 
default: 
    throw 'wow man, you are old!'; 
    break; //technically redundant 
} 
} 
경고

default이 값을 반환하지 않지만 throw이 실행을 종료 함을 알았습니다. 이것은 Synthetic 오류입니까, 아니면 코딩 스타일을 변경해야합니까? throw 뒤에 return 문을 써야하나요?

+0

Syntastic은 구문 검사에 GCC를 사용합니다. '-Wall'을 사용하여 GCC를 컴파일하면 같은 경고 메시지가 나옵니까? –

+0

jslint로 작업 할 신택스를 만들었습니다 ([here] (http://stackoverflow.com/questions/7926356/how-do-i-get-a-syntax-check-to-work-in-with-vim))). – puk

+0

만약'jsl-process'를 사용하면 같은 문제가 발생합니다. C/C++ 용'gcc '가 아닌가? – puk

답변

2

구문 사용 JSLint에서 Javascript 구문을 검사합니다.

JSLint는 오류를 방지하기 위해 지나치게주의를 기울이는 것으로 알려져 있습니다. 더 나은 판단을 위해 메시지를 무시하거나이 특정 경고를 끄거나 여분의 return을 추가 할 수 있습니다.

개인적으로 나는 경고를 끄는 것보다 JSLint의 요구 사항을 만족시키는 것을 선호합니다. return 근처에 //Satisfying JSlint 덧글을 추가하면 다른 사람들이 중복성을 이해할 수 있습니다.

+0

감사. 나는 또한 JSLint가 지나치게 조심 스럽다는 것을 알아 차렸다. 예를 들어'++ '가 더 큰 명령문의 일부로 쓰일 때 불평합니다'var x = 0; flags = {a : x ++, b : x ++, c : x ++ ...}' – puk

+0

방법이 있습니까? JSLint에서 경고를 끄려면 코드 조각 만 있으면됩니까? 이러한 기능을 가진 많은 정적 분석 도구를 본 적이 있습니다 ... –

+1

실제로 내 자신의 대답을 발견했습니다 : 예 - http://stackoverflow.com/questions/599859/jslint-control-comments-selective-ignore –