Node.jsの(または複数の)コーディングスタイルガイドはありますか?そうでない場合、トップオープンソースノードプロジェクトで使用されている新興スタイルは何ですか?
PEP 8 、Pythonの標準的なコーディングスタイルガイドに沿ったガイド(または複数のガイド)を探しています。ここでリンクする価値のないさまざまなJavaScriptガイドを見てきました(ほとんどがクライアントサイドのJavaScriptを対象としています)。興味深いnode.jsを見つけました スタイルガイド 。
コーディングスタイルガイドまたはコーディング規則には、以下を含める必要があります(ただし、これらに限定されません)。
このトピックは明らかに非常に主観的ですが、成熟する過程で一般的で広く受け入れられているコーディングスタイルを確立することは、コミュニティの重要なステップだと思います。また、味だけではありません。特に、==の代わりに===を使用するなどのルールは、コードの品質に直接影響します。
JSLint でチェックされたコーディング標準を確認するか、 [〜#〜] npm [〜#〜] (Isaac Shlueter's) coding標準 。
また、注目すべきNode.JSコーダーが使用するスタイルを見ることができます。
私は 私のものを投げる そこに適切な措置を講じます;)
編集: @ alienhard からの提案
IMOには、従うべきいくつかの黄金律があります。
with
またはeval
を使用しないでください===
_よりも_==
_を使用しますvar
を使用して常に変数を宣言します-グローバルスコープにフォールバックしないでください(function(){})()
_でラップします。err
を使用する必要があります。コールバック自体がコールバックを引数として使用する場合は、最後にする必要があります。 callback(err, param1, param2, callback)
インデント、中括弧とキーワードの間隔、およびセミコロンの配置はすべて優先事項です。
クライアント側のJavaScriptガイドから多くの優れたコーディングスタイルの実践を学ぶことができます(クライアント側とサーバー側の違いはほとんどの場合、言語自体ではなくライブラリにあるため、それらのほとんどはnode.jsにも適用されます)。たとえば、 JavaScript Patterns 本はこのトピックに Chapter 2 の一部を捧げています。また、Douglas Crockfordの website 、 book および videos は、JavaScript固有のコーディングスタイルとベストプラクティスを採用するために必見の資料です。
ターミナルからノードを使用する場合、ソースコードがインデントにスペースを使用すると便利です。そうしないと、「ここのエラー」キャレットが整列しません。
タブ付き:
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のみの問題かもしれませんが、私はそうは思わないでしょう。
この質問をしてからしばらく経ちました...その間、この素晴らしいJavaScriptガイドを見つけました:
一貫性のある慣用的なJavaScriptの記述の原則
Airbnbには非常に優れたJavascriptスタイルガイドがあります https://github.com/airbnb/javascript
コーヒースクリプトの場合、不正なインデントはコンパイルエラーを意味する
つかいます
:set tabstop=2
:set shiftwidth=2
:set expandtab
人気のあるコーヒープロジェクト、zombie
、brunch
はインデントにこの設定を使用します。
編集:
実際に、これを使用してください! https://github.com/paulmillr/code-style-guides (brunch
への主な貢献者の1人)