function t(){o=document.getElementById("loginform");visible=(o.style.height==""||o.style.height=="0pt")?false:true;if(visible){o.style.height="0pt";document.getElementById("loginlink").className='collapsed';}else{o.style.height='39px';document.getElementById("loginlink").className='expanded';}}
難読化というのか知りませんが (スコア:1)
たとえば、/.Jで使われているJavaScriptの一部に
function toggle_loginform() {
obj = document.getElementById("loginform");
visible = (obj.style.height == "" || obj.style.height == "0pt") ? false : true;
if (visible) {
obj.style.height = "0pt";
document.getElementById("loginlink").className = 'collapsed';
} else {
obj.style.height = '39px';
document.getElementById("loginlink").className = 'expanded';
}
}
こんなのがありますが、これを、
function t(){o=document.getElementById("loginform");visible=(o.style.height==""||o.style.height=="0pt")?false:true;if(visible){o.style.height="0pt";document.getElementById("loginlink").className='collapsed';}else{o.style.height='39px';document.getElementById("loginlink").className='expanded';}}
としてしまったら、それはNGなのでしょうかね?
確かにソースコードとしての可読性はかなり落ちますが、だから全て悪いかというとそうではないわけで・・・。(前述の用にパフォーマンス面で)
神社でC#.NET
歴史は繰り返す (スコア:0)
変数名は1文字でとか、省略できるところは省略とか、なるべく1行に詰め込むとか。
今の実行環境や処理速度考えたら、そんな些細なパフォーマンス改善のメリットは可読性の低下を上回るとは思えません。
Re:歴史は繰り返す (スコア:1)
JavaScriptのソースのサイズは、処理速度より主に転送量に影響します。
当然転送量が増えればロード完了して実行するまでの時間も長くなる訳で。
(レンタルサーバなんかだとコストにもかかってくるかと)
流行のJavaScriptフレームワークはどんどん規模が大きくなってきているんで、
こういうささやかな工夫でもかなり効果があるようです。
Re:歴史は繰り返す (スコア:1)
IE6 みたいなクソとろい JavaScript エンジンにとっては、転送量よりも実行速度に普通に影響を与えますよ。
Re: (スコア:0)
そんなことはない。
ことJavaScriptに関しては、コメントありで数十~数百KBになるソースは普通にある。
Ajaxなんかで、動作がワンテンポ遅れるような時、ソースを上にかかれている方法で圧縮するとかなり(時として劇的に)改善されたりもする。特に動的にjsファイルを読んだりしてると。
ちなみに(難読化が目的ではない)JavaScriptの圧縮ツールも巷にはある。
♯Ajaxなフレームワーク開発チーム所属なのでAC
Re: (スコア:0)
RMSの提案って見方を変えればpragma onceみたいなものかなって思いました(リビジョン情報とかも必要ですが)。
#コンパイル済みのヘルプファイルって難読化されてるしプロキシ通す方法ってあります?(あったらあったで問題ありそうですが)