서문 : 글쎄요. 그러나 그것을 통과하기로 결정했습니다. 이 답변이 귀하와 다른 독자에게 도움이 되길 바랍니다.
코드 힌트
JSLint와 JSHint는 사용하기에 좋은 도구이지만, 오랜 세월 동안 친구 @ugly_syntax가 부르는 것에 감사하게되었습니다 .
더 작은 디자인 공간 .
이것은 "선 (k) 수도사"와 매우 유사한 일반적인 원칙으로, 하나의 선택을 제한하고,보다 생산적이고 창의적 일 수 있습니다.
따라서 현재 선호하는 제로 구성 JS 코드 스타일 :
StandardJS .
업데이트 :
흐름 이 많이 향상되었습니다. 이를 통해 JS에 유형을 추가하여 많은 버그를 예방할 수 있습니다. 그러나 예를 들어 형식화되지 않은 JS와 인터페이스 할 때 방해가되지 않습니다. 시도 해봐!
빠른 시작 / TL; DR
standard
프로젝트에 종속성으로 추가
npm install --save standard
그런 다음에 package.json
다음 테스트 스크립트를 추가하십시오.
"scripts": {
"test": "node_modules/.bin/standard && echo put further tests here"
},
개발 중 snazzier 출력의 npm install --global snazzy
경우 대신npm test
.
참고 : 유형 검사와 휴리스틱
내 친구는 Elm이라는 디자인 공간을 언급 할 때 그 언어를 사용해 보라고 권합니다.
왜? JS는 실제로 특수 언어 클래스 인 LISP에서 영감을 얻었습니다. 형식화되지 않았습니다 . 같은 느릅 나무 또는 언어 Purescript가 되어 입력 기능 프로그래밍 언어입니다.
언어 또는 자신의 프로그램 규칙을 위반할 때 컴파일러가 사용자를 확인하고 안내 할 수 있도록 자유를 제한하십시오. 프로그램의 크기 (LOC)에 관계없이
우리는 최근 하급 동료에게 반응 형 인터페이스를 두 번 구현했습니다. 내가 말하는 것에 대한 아이디어를 얻을 수 있습니다.
비교 Main.elm
(타이핑) ⇔index.js
되지 않은 테스트 없음)
(ps. 반응 코드는 관용적이지 않으며 향상 될 수 있음에 유의하십시오)
마지막 발언
실제로 JS 는 형식화되지 않았습니다. 형식화 된 프로그래밍 을 제안하는 사람은 누구입니까 을 입니까?
JS를 사용하면 우리는 다른 영역에 있습니다. 유형이 없으므로 올바른 유형을 제공하기 어렵거나 불가능한 것을 쉽게 표현할 수 있습니다 (확실히 유리 할 수 있음).
그러나 유형이 없으면 프로그램을 확인할 필요가 거의 없으므로 테스트와 코드 스타일을 (더 적게 확장하기 위해) 도입해야합니다.
영감을 얻으 려면 LISP (예 : ClojureScript )를 보고 코드 테스트에 투자하는 것이 좋습니다 . 서브 스택의 방법을 읽으십시오아이디어를 얻으려면 .
평화.
Combine this with the previous 'var' statement
-Do not mix 'require' and other declarations
, 역설.