Google JavaScript スタイルガイド - 日本語訳
最終更新:
aias-jsstyleguide2
38,591
view
- このサイトは Google JavaScript Style Guide(Revision 2.93) を私的に日本語訳したものです。
- この翻訳の内容について、翻訳者は一切の責任を負いません。ご利用は自己責任でお願いします。
- 以下のコーディングルールは、最終的にコードをClosure Compilerにかけて完成させることが暗黙の前提となっている点に注意してください。Closure CompilerはGoogle自身が提供しているJavaScript圧縮・最適化ツールです。(こちらの日本語の解説も参考にしてみてください。)
- JavaScriptコードがこのスタイルガイドに適合しているかどうかを検証する、Clisure LinterというツールがGoogleから提供されています。使い方はこちらを参照してください。
目次
はじめに
JavaScriptはGoogleの多くのオープンソースプロジェクトで、主要なクライアントサイドのスクリプト言語として使用されています。このスタイルガイドはJavaScriptプログラムのための
すべきこと
と
すべきでないこと
のリストです。
JavaScriptの言語仕様に関するルール
var
常に、varと共に変数を宣言します。
定数
- 定数値にはNAMES_LIKE_THISのような名前をつけます。
- 変数やプロパティの参照先が固定されている(上書きできない)ことを示すには@constを使います。
- Internet Explorerがサポートしないconst キーワードは決して使いません。
セミコロン
常にセミコロンを使います。
ネストされた関数
使えます。
ブロック内での関数宣言
使わないでください。
例外
使えます。
独自の例外
使えます。
標準機能
標準機能は非標準の機能よりも常に優先されます。
プリミティブ型のラッパーオブジェクト
使わないでください。
多段階のプロトタイプ階層
好ましくありません。
メソッドとプロパティの定義
/** @constructor */ function SomeConstructor() { this.someProperty = 1; } Foo.prototype.someMethod = function() { ... };delete
より好ましいのは this.foo = null の方です。
クロージャ
使えます、しかし慎重に。
eval()
コードローダまたはREPL(Read-eval-print loop)にのみ使います。
with(){}
使わないでください。
this
オブジェクトのコンストラクタとメソッド、クロージャの作成時にのみ使います。
for-in ループ
オブジェクト / マップ / ハッシュ内をキーによって走査する場合のみ使えます。
連想配列
決して Array をマップ / ハッシュ / 連想配列として使わないでください。
複数行の文字列リテラル
使わないでください。
配列リテラルとオブジェクトリテラル
使えます。
組込みオブジェクトのプロトタイプの書き換え
しないでください。
Internet Explorerの条件付きコメント
使わないでください。
JavaScriptのスタイルに関するルール
命名規則
原則として、関数はfunctionNamesLikeThis、変数はvariableNamesLikeThis、クラスはClassNamesLikeThis、列挙型はEnumNamesLikeThis、メソッドはmethodNamesLikeThis、定数はCONSTANT_VALUES_LIKE_THIS、名前空間はfoo.namespaceNamesLikeThis.bar、ファイルはfilenameslikethis.jsのように、それぞれ命名してください。
独自のtoString()メソッド
副作用なしで常に成功すること。
変数初期化の遅延
OK。
明示的なスコープ
常にそうしてください。
コードのフォーマット
詳しい情報を見るにはリンクをクリックしてください。
丸括弧
必要なときだけ使います。
文字列
"より'を使います。
可視性(privateまたはprotectedなフィールド)
JSDocアノテーションの@privateと@protectedの利用を推奨します。
JavaScriptのデータ型
Compilerによる型の強制を推奨します。
コメント
JSDocを使ってください。
goog.provideによる依存関係の規定
トップレベルのシンボルだけを規定します。
コンパイル
必須です。
ヒントとテクニック
JavaScriptについてもう少しだけ。
最後に
一貫性を持たせてください。
コードを編集するとき、少しの間周辺のコードを眺めてからスタイルを決めるようにしてください。それらが全ての計算記号の前後にスペースを入れているのであれば、あなたもそうすべきです。もしコメントが#マークで四角く囲まれているなら、あなたもコメントを#マークで囲んでください。
スタイルガイドラインの意義は、人々がコーディングに関する共通の語彙を持つことにあります。そうすれば、どう話すかより何を話すかに集中できるようになります。我々が示したのは共通語彙としての全体的なスタイルルールですが、ローカルルールもまた同じように重要です。もしあなたがファイルに追加したコードが既存のコードとかけ離れていたら、他の人はコードを読むリズムを狂わされてしまいます。そうならないようにしてください。