Javascript
dropbox
coffeescript

DropboxがブラウザサイドのJavaScriptを1週間でCoffeeScriptに書き換え–コードの可読性をアップ

次の記事

アクセサリーメーカーは、Appleのアダプターがオーディオ・ビデオドックに使えるかどうか知らない(言わないだけ?)

Dropbox_logo_clear

Dropboxの技術者チームは7月に、そのブラウザサイドのコードベースを1週間で書き直した。Dropboxの技術部門のブログに、そう書かれている。書き直しによってそのJavaScriptのコードがすべて、CoffeeScriptと呼ばれる言語に翻訳された。

CoffeeScriptは、コンパイルするとJavaScriptになる言語だ。シンタクスがPythonやRubyに似ていて、“読解性の良いプログラミング(literate programming)”*ができることを目標として作られた。それはつまり、人間が読んで分かるコードを書ける、という目標だ。〔*: 余計な訳注: literate programming, 日本語Wikipediaなどが採用している”文芸的プログラミング”という訳語は、私は個人的にキモチワルイ。〕

この言語はJavaScriptのコミュニティで大きな論争を喚(よ)んだ。でも支持者がとても多くて、JavaScriptを作ったBrendan Eichも支持している。EichはJSConf 2011でCoffeeScriptを激賞したが、そのときはCoffeeScriptの作者Jeremy Ashkenasもキーノート(カンファレンスの基調講演)を担当した。EichはJavaScriptの次のバージョン、コードネームJSNextにCoffeeScriptのシンタクスの一部を採用しようとしている。彼はデベロッパたちに、JavaScriptの自分独自の変種を作ることを奨励している。それが、将来のJavaScriptの改良につながる、と言って。

Dropboxのブログ記事は、CoffeeScriptに関してよく言われる不平を取り上げている。パフォーマンスが劣る、デバッグがやりにくい、などだ。しかしそのブログ記事によると、“圧縮後のコードサイズはCoffee化したあとも大きく変わらないから、ユーザは違いに気づかないだろう。サイトのパフォーマンスも前と変わらない”、という。彼らはその1週間のあいだに、テストも徹底的にやって不良箇所の絶滅に努めたそうだ。

チームはCoffeeへの自動変換ツールjs2coffeeを使って、書き換えのスピードアップを図った。

書き換えの前と後の例を、Dropboxのコードで見てみよう:

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))