メタプログラミングをすると生産性が上がる。 メタプログラミングには様々な定義があるが、ここでは広めに "無駄なコーディングや手作業を減らす手法" としておく。
以下に、実務 (主に Web のフロントエンド開発) に役立つメタプログラミングの例をいくつか挙げる。
開発全般におけるメタプログラミング
- 設定ファイルを作る
- ビジネスロジックを分離する
- テスト用のツールを書く
- ビルド用のツールを書く
- ミニ言語 (DSL) を実装する
- コードジェネレータを書く
- 実装を人に頼むための資料を作る
- 実装しないための口実を考える
JavaScript におけるメタプログラミングのリソース
- Metaprogramming JavaScript - Part 1
- Metaprogramming JavaScript - Part 2
- Metaprogramming JavaScript Presentation (Part 1,2 のまとめ)
- Metaprogramming JavaScript
書籍では、The Art & Science of JavaScript に、Dan Webb によるメタプログラミングの記事がある。DSL の実装方法を、コードを交えて解説している。