トップ «前の日記(2010-05-09) 最新 次の日記(2010-05-11)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2010-05-10

_ 賢いJavaScriptは難しい

とにかく、とんでもなく遅い回線のユーザがいて、つまりはモデム回線ということで、秒あたり4Kバイトも送信できればOKという感じ。

そうなってくると、JavaScriptとかで、document.getElemenstByName('long-clear-name'); なんて書くだけで47バイトだから、そんな記述を100行も書けばそれだけで1秒を食ってしまうことになる。当然、$('nm')とかにしたい。したがって、すべての要素名はできるだけ重複をなくして、getElementByIdでアクセスできるようにしておいて、さらに、変数名2文字、要素名(ID)2文字とか、いったいいつの時代のMSX-BASICみたいなJavaScriptを、現代風な動的な感じで書くと、これがとんでもなく読みにくい。というか、バグが結構入る。確かにまともな名前は重要だと思い知るが、さて、難しい。

さすがにインデントやコメントはフィルターを使って削除するようにしてみたりして、ソース上には残しているのだが、10行程度の関数でも仮引数名1文字、変数名2文字、関数名1文字とかだと、ちょっと似たような処理で変数名を取り違えてみたりもして。

RJSのようなアプローチならそういう問題はないはずで、生成したJavaScriptの変数名がどれだけ記号だからといって別段困らないだろう。

しかし、実際に動かしてバグが出た場合、対応関係をとらなければならないから、それはそれで厄介っぽい。

とりあえずは、gzip圧縮かけるとか、encodingで逃げるわけだが、それでもコンパクトにうまく記述する方法はないものかな。(でもデバッグ終われば熱さを忘れるからどうでも良くなったりするのだが)


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|

ジェズイットを見習え