====== CoffeeScript ====== JavaScript(ECMAScript)のシンタックスシュガーの一種。Pythonのようにインデント重視で記述する。 ====== 本家 ====== http://coffeescript.org/ ====== インストール方法 ====== # npm install -g coffee-script ====== ドキュメンテーションの書き方 ====== ###* @class Hoge Hogeクラスの説明 ### class Hoge ###* @method constructor コンストラクタ ### constructor: -> hoge return ###* @method ふー ### foo: => bar return みたいに書いて、coffee→jsに変換した後に**jsduck**を使うのがよい。 ====== 関数定義のススメ ====== thisを呼び出し時に受け取ったまま使う %%->%% と、 定義時点でのthisをバインドして呼び出し時のthisを無視する %%=>%% とがある。 多くの例ではthisのバインドを必須するときを除いて %%->%% を用いているが、 **むしろthisを敢えて無視したいとき以外は %%=>%% を使うという運用のほうが望ましい。** なぜならば、最初は %%->%% で実装していたが、後の変更でクラスメンバへのアクセスが増えてthisを 扱い始めた時、%%=>%% に変えるのを忘れると、解析の難しい不具合を引き起こしやすい。 デバッグに時間がかかるので、this置換の必要な所だけを %%->%% で実装する方がトータルコストは良いと判断。 ===== 注意点:それでも->を使うべき場所 ===== * クラス関数の定義用コロンの後 (hoge: %%->%%) * @property("xxx", get: %%->%% @hoge) 上のコロンの後と同じ * その他thisを呼び出し時にバインドしたいとき