上記サイトで、コーディング規約が記載されています。
プログラマであれば、他の言語で使われている規約とほぼ同じような規約です。
(C++のコード規約に近い)
このサイト内の規約で、JavaScriptに特化したと思われる事を、抽出してみました。
1) ブロック内での関数の宣言
/*非推奨例*/
if
(x) {
function
foo() {}
}
/* 推奨例 */
if
(x) {
var
foo =
function
() {};
}
2)メソッドとプロパティの定義
オブジェクトにメソッドとプロパティを追加する方法。/*メソッド追加推奨例*/
hoge.prototype.bar =
function
() {
/* ... */
};
/*プロパティ追加推奨例*/
/** @constructor */
function
hoge() {
this
.bar = value;
}
3)delete
プロパティ削除をする場合はdelteを使用せず、nullを使用する。
/*非推奨*/
hoge.prototype.dispose =
function
() {
delete
this
.property_;
};
/*推奨例*/
hoge.prototype.dispose =
function
() {
this
.property_ =
null
;
};
4)
クロージャ
クロージャは自身を取り囲むスコープへのポインタを保持しています。このためクロージャをDOM要素ヘ結びつけると、循環参照が発生しメモリリークとなることがあり、慎重に使用する必要があります。
⇒C#のdelegateみたいな感じですね。プログラミングでは、メモリリークしそうなコーディングを避けるようしましょう。
5)eval()
ユーザーの入力に悪意のあるスクリプトが混入していた場合、実行されてしまうおそれがあるので、ユーザーの文字列の入力に対して、evalを使用するのは避けてください
⇒SQLインジェクションと同じ感じですね
6) 文字列を表す引用符
二重引用符(")ではなく、単一引用符(')を使用する。
0 件のコメント:
コメントを投稿