『メンテナブルJavaScript』を読んだ。この本のカバー範囲は広い。第I部「スタイルガイドライン」と第II部「プログラミング実践」ではメンテナンスしやすいJavaScrpitの書き方を、第III部「自動化」ではディレクトリ構造、Lint、ミニファイ、ドキュメンテーション、テストなどをカバーしている。
第I部「スタイルガイド」は、JavaScriptのコーディングスタイルがテーマ。複数のコーディングスタイル(jQueryやGoogleなど)を参照しながら、理由とともに筆者の選択を示している。jslintやjshintでの扱いにも言及しているところがありがたい。
第II部「プログラミング実践」は、『JavaScriptパターン』といくらか重なっている。デザインパターンと呼ぶには具体的だけれど、イディオムと呼ぶには抽象的な内容。抽象度としては、『実装パターン』に近い。
第III部「自動化」がこの本の特徴だと思う。ここでは、JavaScriptのコードはほとんど出てこない。代わりに出てくるのは、各種ツールを実行するためのコマンドラインやそれを自動化するためのAntスクリプトだ。YUI系ツールの説明が他ツールに比べてやや手厚いのは、この本が筆者のYahoo!での経験をまとめたものだからだろう。
この第III部が一番面白いのと同時に、一番物足りない。JavaScriptの外にまで話が広がっているし、各ツールの説明があっさりしているので、この本だけでは導入できないツールがあると思う。例えば、19章「自動テスト」にテストコードの書き方が説明されていない(JsTestDriverのテストコードの書き方なら、『テスト駆動JavaScript』が詳しい)。
第III部のテーマは、各ツールの導入ではなく、導入済みの各ツールをCI上で動かすことだと思った方が良さそう。そう考えると、Antの説明にページが割かれてことにも納得が行く。それに、これらのツールはまだ変化が激しいので、内容の賞味期限が短くなるのを嫌って、あえて深入りしていないのかもしれない。
賞味期限切れと言えば、18章「ドキュメンテーション」で紹介されているJSDoc Toolkitは、2010年にサポートが打ち切られている。現在の最新版はJSDoc 3。
第I部「スタイルガイド」は、JavaScriptのコーディングスタイルがテーマ。複数のコーディングスタイル(jQueryやGoogleなど)を参照しながら、理由とともに筆者の選択を示している。jslintやjshintでの扱いにも言及しているところがありがたい。
第II部「プログラミング実践」は、『JavaScriptパターン』といくらか重なっている。デザインパターンと呼ぶには具体的だけれど、イディオムと呼ぶには抽象的な内容。抽象度としては、『実装パターン』に近い。
第III部「自動化」がこの本の特徴だと思う。ここでは、JavaScriptのコードはほとんど出てこない。代わりに出てくるのは、各種ツールを実行するためのコマンドラインやそれを自動化するためのAntスクリプトだ。YUI系ツールの説明が他ツールに比べてやや手厚いのは、この本が筆者のYahoo!での経験をまとめたものだからだろう。
この第III部が一番面白いのと同時に、一番物足りない。JavaScriptの外にまで話が広がっているし、各ツールの説明があっさりしているので、この本だけでは導入できないツールがあると思う。例えば、19章「自動テスト」にテストコードの書き方が説明されていない(JsTestDriverのテストコードの書き方なら、『テスト駆動JavaScript』が詳しい)。
第III部のテーマは、各ツールの導入ではなく、導入済みの各ツールをCI上で動かすことだと思った方が良さそう。そう考えると、Antの説明にページが割かれてことにも納得が行く。それに、これらのツールはまだ変化が激しいので、内容の賞味期限が短くなるのを嫌って、あえて深入りしていないのかもしれない。
賞味期限切れと言えば、18章「ドキュメンテーション」で紹介されているJSDoc Toolkitは、2010年にサポートが打ち切られている。現在の最新版はJSDoc 3。
NOTICE: As of 27 June 2010 the JsDoc Toolkit Version 2 project is no longer under active development or support. Please visit the project page for the latest version of JSDoc: JSDoc 3.でも、既存のJSDocの大半はToolkitだろうから、メンテナンスという文脈ではまだまだToolkitが有力なはず。非互換だから、新旧を混ぜて段階的に移行するのは難しそうだし。メンテナンスをしていると、こういう外部のアップデートにいつ追随するかも悩ましい。
jsdoc-toolkit - A documentation generator for JavaScript. - Google Project Hosting