iAnime.jsのソースが素敵に見える件

ianime.jsが読みやすく今風のJavaScriptだなと思ったので自分の学習用にちょっとまとめてみた。

ianime.js 0.29
http://ianimejs.googlecode.com/svn/trunk/src/ianime029.js

1.匿名関数でグローバル変数の汚染を防ぐ

(function(){
  ...
})();

参考:JavaScript++かも日記:匿名関数で匿名スコープ&インスタンス

2.メソッドのインデント
メソッドのインデントが無く、それが読みやすいなと思いました。

iA.prototype = {
add: function(param) 
{
  ...
},
addSequence: function(seq)
{
  ...
},
}

3.privateメソッドのプリフィクスはアンダーバー

function _move(e,r,x,y) {
    e.style.left = x + "px";
    e.style.top = y + "px";
}

4.effectの追加の部分
YUI Compressor が圧縮しやすいコードを書くテクニックに関する一考察にあるように、YUI Compressorで圧縮率を高めるためにiAnime.effectsをローカル変数に入れていますが、そのまま参照するより読みやすくなっている気がします。これは好みの問題かな。

var effects = iAnime.effects; // for better compression

effects.fadeout = function(element, t, x, y) {
    this.move(element, t, x, y);
    iBrowse.setOpacity(element, 1-t);
};

effects.fadein = function(element, t, x, y) {
    this.move(element, t, x, y);
    iBrowse.setOpacity(element, t);
};

もう少し中の仕組みのほうも読んでみます。

JS入門(仮)あたらめTenjin.JS(仮)

以前から企画だけはあがっていたJS入門(仮)を明日行うことになりました。テーマは一応「楽しくなるコーディングについて語る」です。ぜひお気軽にご参加ください。

追記:告知文章をアップデートしました。

日時:12月22日 13:30〜17:00 (13:00開場、13:30開始の予定)
場所:正晃テックオフィス
   福岡市中央区今泉1-13-17 向栄ビル2F(MAP
予定人数:20人弱
参加費:お茶代程度(500円?)
参加方法:js-intro1 AT kiwanami.netにメールを送る

テーマ:楽しくなるコーディングについて語る

話し手:


中心になるのはJavaScript周辺ですが、Perl,PHP,Java,Curlなど、Web周辺で
オチが「楽しい」と「JavaScript」に持っていければ何でもOK。

分野やトピックの例:

・JSの勉強の仕方・はじめ方 ← 辛くない始め方
 ・学習の順番、言語とアルゴリズム、実装と設計、情報源
 ・ソース読む:Prototype.js、その他写経すべきライブラリなど

・JSの開発方法 ← 辛くない開発
 ・開発環境
   →エディタ、リファレンス、デバッグ、コンソールなど

・サーバー技術との絡み ← 異なる言語をどう楽に扱うか
 ・GWTとかRJSとかJSFとか、JSを隠すもの(本当に使えるのか?)
 ・WebAPI
 ・全部JS

・デザインとの絡み ← CSSやHTMLがスパゲティにならないように
 ・CSSとJS
 ・ユーザーインタフェース、ユーザビリティ一般
 ・Web標準

・その他
 ・小ねた
  ・作ったもの自慢
  ・調べた、最近分かった、面白いトピックなど
 ・他所のJS紹介とか

形式:
一人あたり、20分講演+10分議論で、2人毎に10分休憩。内容や当日の雰囲気に
よっては増減有。今回は日が短いので、ネタ提供を基にしてみんなで語り合う
という形。

まずは、0次会として一度やってみて、どうするか考えてみようという方針。