FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

DSLでビルドツールを自作する (25日目 最後のまとめ)

この記事は「Qiita Advent Calendar 2019 DSLで自作ビルドツールを作ろう」の25日目の記事です。

25日目 最後のまとめ

ここまで、24回に分けて一からビルドツールの開発に挑戦してきました。

  • DSLの勉強のために、Rubyメタプログラミングについて一から勉強しました。
  • ビルドシステムの勉強のために、ビルドツールの仕組みについて一から調査しました。
  • 様々な機能をビルドシステムに詰め込むために、Ruby/Git/YAMLなどの機能について調査しました。
  • 最終的な目標としてEmacsをビルドするために、Emacsのビルド構成について勉強しました。
    • また、Makefileを自作ビルドシステムに移植するために、Makefileについて詳細な記法を勉強しました。

このプロジェクトは、思いついてからコードを書き始め、24日分の原稿を書くのにコーディングと文章化で約一か月かけました。 これを、私の中で「30日プロジェクト」と呼んでいました。コーディングから文書化まで、すべて30日で納めています。

  • 24回に収めるために、最終目標を定めて大まかにプロジェクトの進捗を分割していく。
  • とりあえず最初から作り始めて、大体最初のモノになったくらいで具体的な24回分の章の分割を考えていく。
    • 大体5回まででビルドツールとしての基本的な機能が実現できたので、そこからはどのような機能が欲しいか、最終目標が何なのか、24回までに分割してスケジュールを組みました。
  • 途中から、明らかにネタが足りなくなったので、YAMLを導入してみたり、gitとの組み合わせを考えてみたり、いろいろ余計なものも付けました。

24回分のコーディングと文章を短期間に書き上げるために以下の方針を取りました。 短期間にコーディングと文章を組み上げるために、私が良く使っている手です。

  • エディタに24回分のサブタイトルを先に書き上げる。
  • 各回のコーディングを終えるたびに、その日のうちに文書化しておく。
  • とにかく最終的な目標を決めておく。今回の場合は、Emacsを自作ツールでビルドする、ということだったので、それに向けて必要な機能とスケジュールを逆算。

という訳で、無事に目標を達成することができました。これくらいの目標であれば、30日でしっかりまとめ上げて文書化までできる、という自分の大きな自信にすることができたと思います。

これからも、新しいものを恐れず、積極果敢に勉強して取り組んでいきたいと思います。