ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

Solid Code 高品質なコードを生み出す実践的開発手法(2)

「Solid Code 高品質なコードを生み出す実践的開発手法」を少しずつ読んでいます。

第3章「メタプログラミング」を読みました。
で、いくつか気になったことなど。

「アプリケーションコードの柔軟性を確保する方法の1つは、コードを書く量を少なくすることです。」(※1)
これには激しく同意します。ついでに、納期を守る方法の一つだとも思います(笑)。

そのために「メタデータをコードから完全に切り離し」(※2)、
「メタプログラミング」をしようというのが本章の趣旨ですが、
この「メタデータ」について見事な説明だと思ったのが、以下の抜粋です。

メタデータとは、データに関するデータ、つまりデータについて記述した情報です。」(※3)
確かに今までの仕事を考えると「データに関するデータ」については定義ファイルに書き出すよう
設計することが多かったです。

これからは、定義ファイルに書き出すかどうかについて「メタデータ」かどうかで判断することにしよう。。。
ついでに、「これはメタデータだから定義ファイルに記述すべきです。」なんて上司に言ってみたり・・・。

本章では「メタデータ」に関する説明だけでなく、
VisualStudio2008でメタデータをアプリケーション構成ファイルに定義する
実装の方法についても詳細に書かれています。

かなり使いやすそうなのですが、一つ気になるのは
「変更を有効にするためにアプリケーションを再起動する必要がある」(※4)ということです。
ASP.NETのDLLみたいに、定義ファイルの更新日時が新しくなっている場合は
再起動なしで自動的に読み直すようにはできなかったのだろうか・・・。

※1 「Solid Code 高品質なコードを生み出す実践的開発手法」 P59
※2 「Solid Code 高品質なコードを生み出す実践的開発手法」 P80
※3 「Solid Code 高品質なコードを生み出す実践的開発手法」 P60
※4 「Solid Code 高品質なコードを生み出す実践的開発手法」 P73