インピーダンスミスマッチ

相変わらずActiveRecord.netを設計している。
まずRDBとオブジェクトというデータ構造のミスマッチがあり、それに付随してデータ型もミスマッチ。DBエンジンはそれぞれ違う特性と独自拡張を持っていて ――まあ複数のDBに対応すべきかどうか考えあぐねているのだが―― ActiveRecord.net自体Ruby的つまりLL的ルーズな思考法を明示的に型付けされた世界に持ち込むことになる。こいつらをいかにすりあわせればすっきりできるのだろう。
まあライブラリなどというものは何らかの目的を達成するために製作されるもので、設計意図をつねにはっきりさせていればおのずと方向はみえてくるものだ…… たぶん。しかしながら技術的興味・視界外の可能性・怠惰・などのもと絶えず道を逸れ続けるものなのだ、趣味ソフトウェアというのは!だからライブラリを作る前にそれを必要とするアプリケーションを書いてしまうのが手っ取り早い、そうすれば当初の意図を達成するしかないのだから―― というのを洗練させるとテストファーストに。意図を明白に、大量のテストでインターフェースを束縛し、テストを通すため嫌でもモジュール化、うまく習慣化してテストを書くのが面倒にならなくなればこちらのもの、まあ面倒になるものだけれど。