node.js 앱의 코딩 스타일 가이드? [닫은]


130

node.js에 대한 코딩 스타일 가이드가 있습니까? 그렇지 않은 경우 최고의 오픈 소스 노드 프로젝트에서 사용되는 새로운 스타일 은 무엇 입니까?

파이썬을위한 표준 코딩 스타일 가이드 인 PEP 8 라인을 따라 가이드 (또는 여러 가이드)를 찾고 있습니다. 나는 여기에 링크 할 가치가없는 다양한 JavaScript 가이드를 보았습니다 (주로 오래되었고 클라이언트 측 JavaScript를 대상으로 함). 흥미로운 node.js 스타일 가이드를 찾았습니다 .

코딩 스타일 가이드 또는 코딩 규칙에는 다음이 포함되어야하지만 이에 국한되지는 않습니다.

  • 코드 레이아웃 : 들여 쓰기 (2 칸, 4 칸, 탭 등), 줄 바꿈, 줄 바꿈 등
  • 공백 (예 : "function (arg)"대 "function (arg)"
  • 세미콜론 또는 세미콜론 없음, var 선언, ...
  • 이름 지정 (예 : do_this () vs. doThis (), var_name vs. varName, ...)
  • node.js 및 JavaScript 관용구 (예 : == vs ===), 콜백의 첫 번째 인수는 오류 객체입니다 ...
  • 의견 및 문서
  • 린트 체커, 단위 테스트 프레임 워크와 같은 도구

이 주제는 분명히 주관적이지만, 성숙 과정에서 일반적이고 널리 인정되는 코딩 스타일을 확립하는 것이 커뮤니티의 중요한 단계라고 생각합니다. 또한 맛에 관한 것이 아닙니다. 특히, == "대신"=== 사용과 같은 규칙은 코드 품질에 직접적인 영향을 미칩니다.


예를 들어 spludo.com/source/coding-standards를 확인할 수는 있지만 다른 것들은 약간 다른 방식으로 처리 할 수 ​​있습니다.
Poelinca Dorin

4
"아무도 좋은 스타일 가이드 세트를 가지고 있습니까?"는 주관적 일 수도 있고 아닐 수도 있지만 "신흥 스타일은 무엇인가"입니다. 펠릭스 가이드를 이미 찾았습니다. 물론 나는 어떤 경우에는 (일부 경우에는 강하게) 측면에 동의하지 않고 다른 측면에 동의합니다. 그리고 그것이 문제입니다. 아주 빨리, "아니요, 내가 보고 있는 스타일 은 탭을 사용합니다!" "아니요, 내가 보고 있는 스타일 은 4 개의 공백을 사용합니다!" "아니요, 내가 보고 있는 스타일 은 칸을 사용 합니다!" 물론 사람들이 실제로 의미하는 것은 "내가보고있는 스타일"이 아니라 "내가 선호하는 스타일"일 때입니다.
TJ Crowder

2
@TJ Croweder 내가 보고 있는 스타일 은 공백을 사용하지 않습니다!
Raynos

+1 멋진 질문입니다. 나는 나이가 들었던이 연결을 가지고 있었으면 좋겠다.
Bryan Downing

주관적인 질문.
Niels Abildgaard

답변:


120

JSLint 에서 확인한 코딩 표준을 검토 하거나 NPM (Isaac Shlueter) 코딩 표준 의 저자를 살펴 보았습니다 .

주목할만한 Node.JS 코더가 사용하는 스타일을 볼 수도 있습니다 :

나는 좋은 척도를 위해 거기에 것을 던질 것이다 ;)

편집 : @alienhard의 제안

IMO 준수해야 할 몇 가지 황금 규칙이 있습니다.

  • 절대 사용 with또는eval
  • ===이상 사용==
  • 항상 var적절한 범위에서 변수를 선언하십시오 -전역 범위로 대체하지 마십시오
  • (function(){})()브라우저뿐만 아니라 서버 측에서 실행되는 코드를 릴리스하려는 경우 앱을 클로저로 감싸십시오.
  • 콜백은 err첫 번째 인수로 취해야하며 콜백을 인수로 사용하는 경우 마지막이어야합니다. 예 :callback(err, param1, param2, callback)

들여 쓰기, 중괄호와 키워드 사이의 간격 및 세미콜론 배치는 모두 선호 사항입니다.


2
답변 해주셔서 감사합니다. Ryan을 언급하지 않은 이유가 궁금합니다.). 그러나 나는 공식 노드 레포 위키에서 구글의 JavaScript 스타일 가이드를 따른 다고 생각했다 . 나는 전에 한 번도 몰랐다 ...
alienhard

15

마을에는 새로운 표준이 있습니다.

표준 스타일을 사용하십시오 .

JS 표준 스타일


1
나는 왜 이것이 3 개의 찬성 투표를했는지 전혀 모른다.
Luc

4
@Luc는 "세미콜론 없음"규칙 때문일 수 있습니다. "표준"스타일이라고 불리는 것에 대해 이상한 선택 인 것 같습니다.
Daniel Yankowsky

세미콜론은 좋은 생각이 아닙니다. 일부 축소가 중단됩니다.
denov

standard패키지는 세미콜론을 좋아하지 않습니다. 세미콜론을 좋아한다면 준 표준이 있습니다
yesnik

10

클라이언트 지향 JavaScript 가이드에서 많은 코딩 스타일 사례를 배울 수 있습니다 (클라이언트와 서버 측의 차이는 대부분 언어 자체가 아니라 라이브러리에 있기 때문에 대부분 node.js에도 적용됩니다). 예를 들어 JavaScript Patterns 책은이 주제에 대해 2 장의 일부를 설명합니다 . 또한 Douglas Crockford의 웹 사이트 , 서적비디오 는 JavaScript 고유의 코딩 스타일과 모범 사례를 채택하기 위해 반드시 필요한 자료입니다.


3
Douglas Crockford의 책 "자바 스크립트 : 좋은 부분"에 +1. 간결하고 작은 책에는 많은 정보가 들어 있습니다.
Alex KeySmith

7

터미널에서 노드를 사용할 때 소스 코드가 공백을 사용하여 들여 쓰기하는 것이 유용합니다. 그렇지 않으면 "error here"캐럿이 표시되지 않습니다.

탭 포함 :

        var preps = files.map(function(f) { 
            ^
TypeError: Cannot call method 'map' of null

공백이있는 경우 :

        var preps = files.map(function(f) { 
                          ^
TypeError: Cannot call method 'map' of null

이것은 Mac 전용 문제 일 수도 있지만 그렇지 않을 것입니다.


OP는 스타일 가이드를 요청했습니다. 특정 팁이 아닙니다.
mightyiam

@mightyiam 사실이지만 들여 쓰기 규칙은 거의 모든 스타일 가이드의 일부입니다. 아마도 내 요점은 OP가 다른 사람들이 연결할 스타일 가이드 중 일부를 평가하는 데 도움이되거나 자신의 스타일 가이드를 개발하는 데 도움이 될 수 있습니다.
Daniel Yankowsky



2

들여 쓰기가 잘못되면 컴파일 오류가 발생하는 Coffee-Script의 경우

사용하다

:set tabstop=2
:set shiftwidth=2
:set expandtab

인기있는 커피 프로젝트는 zombie, brunch들여 쓰기 위해이 설정을 사용합니다.

편집하다:

실제로, 이것을 사용하십시오! https://github.com/paulmillr/code-style-guides (의 주요 기여자 중 하나 brunch)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.