11 May 2012

Maintainable JavaScript を読んだ

Maintainable Javascript

Maintainable Javascript

Maintainable JavaScript という本を読みました. ハイパフォーマンス JavaScript などの著書が有名な, 元ヤフーのテクニカルリード Nicholas C. Zakas さんの新著です.

コードベースが大きくチームの人数も複数人なプロジェクトでのプラクティスがまとめられてます. コードの書き方そのものよりも, メンテナンス性の高いコードベースを保つための環境の作り方にフォーカスした本です. 実際の規約やツールの設定まで具体的に述べられていたので, チームの開発の枠組みをどうしようかと考えている人にとって参考になる本かと思います.

トピックは大きく以下の 3 つです.

  • コーディング規約
  • プログラミングのプラクティス
  • 自動化

コーディング規約はルールだけでなく "なぜそうしたほうがいいのか" まで説明されており好印象でした.

プログラミングのプラクティスは html/css/javascript は分離しようとか, どう書くとグローバルを汚さないかといった, メンテナンス性という観点からのコードの書き方について述べられています. この章はなるほどと思える作法がいくつか出てきて面白く読めました. とはいえ幾つかのトピックを紹介しているだけなので, JavaScript PatternsLearning JavaScript Design Patterns あたりも目を通しておいたほうが網羅的かもしれません.

自動化の章ではプロジェクトのディレクトリ構成からはじまり, JSHint でのバリデーション, ファイルの連結, Minify, JSDoc 等によるドキュメンテーション, 自動テスト, 最終的に Jankins で CI ... という各トピックを自動で走らせる方法について説明しています. ビルドツールとして Ant が採用されていて, 具体的な設定方法から書かれていました.

説明を丁寧にしすぎて若干くどい印象をうけました. 初心者向けの本ではないので, もっとはしょって書いてもいいんじゃないかなという感想です. とはいえ appendix も含め 200 ページほどなので十分コンパクトで, さっと目を通すには良いのではないでしょうか.

まとめ

Maintainable JavaScript を読みました. チームで js を書いている人は参考になりそうな本でした. コンパクトなので知識の確認のため流し読みしたり, 必要なところを拾い読みしたりするのが良いかなと思いました.