2014年12月12日金曜日

javaScriptコーディング標準

http://www.hp-stylelink.com/news/2013/10/20131008.php

上記サイトで、コーディング規約が記載されています。
プログラマであれば、他の言語で使われている規約とほぼ同じような規約です。
(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;
};
 
 クロージャは自身を取り囲むスコープへのポインタを保持しています。このためクロージャをDOM要素ヘ結びつけると、循環参照が発生しメモリリークとなることがあり、慎重に使用する必要があります。
⇒C#のdelegateみたいな感じですね。プログラミングでは、メモリリークしそうなコーディングを避けるようしましょう。

5)eval()
ユーザーの入力に悪意のあるスクリプトが混入していた場合、実行されてしまうおそれがあるので、ユーザーの文字列の入力に対して、evalを使用するのは避けてください
SQLインジェクションと同じ感じですね
 
6) 文字列を表す引用符
 二重引用符(")ではなく、単一引用符(')を使用する。
 
 

0 件のコメント:

コメントを投稿