yo_waka's blog

418 I'm a teapot

大規模なJS開発

最近大規模すごい!とか言われるようになってそれは嬉しいんだけど、複数人で作ってるすごい!なのか、10万行すごい!なのかよく分からない。
この2つはちょっとアプローチの仕方が違う。


前者の方は、厳密にPrivate変数がないJSでプライベート/パブリックをどう表現するとか、FixJSStyleやGJSLintやClosureCompilerをビルドプロセスに組み込んで通らなかったらメール飛ばすとか、コードスタイルの統一化だったりCI的な自動化をどう取り入れるかを考えないといけない。

後者の方は、UI作る場合はClosureLibraryだったら必ずgoog.ui.Componentを継承して作ることでDOM生成のエントリポイントを複数に分けたりDOMイベント減らしてカスタムイベントを増やすとか、どうしても描画数が多くてパフォーマンスが保てないので非同期化してDeferredでつなぐとか、イベントやDOMが多くても性能を出すためのコードデザインの工夫を考えないといけない。


前者は仕組みなので、割と導入しちゃえばそれまでよ!なところがあるけど、後者はノウハウがものをいうしブラウザの進化と共によいやり方が日々流動してる感がある。
なので、複数人≒でかいコードなんだけど、そこで考えることはちょっと違うのでどっちかを見ただけでなるほどなとなってほしくはないなーと。