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