ITに活かしたい読書録 「データ指向プログラミング」
基本情報
著者: Yehonathan Sharvit
株式会社クイープ 監訳
出版: 翔泳社
概要
データとそれらを処理する関数を分離するという命題を持っている本です
データと操作をまとめるオブジェクト指向と少し反対方向の部分があります。
関数型プログラミングと共通の考え方が一部あるように思いました(全く同じかというとそうではないと否定されていた)
物語形式の本で、開発会社のエンジニアが抱える問題に、データ指向プログラミングの体現者であるコンサルタントがアドバイスを送っていくという物語調です。
印象に残った章
6.2 章にて「データの正当性はコンテキストによって決まる」という記述があり、初めてお墨付きをもらった気がした。
何の話かというと、DBで扱うようなデータを処理する関数のユニットテストである。
たいてい全カラムのデータを処理することはなく、例えばメールアドレスと、そのアカウントに属する2,3この要素だけをみて処理する関数をお仕事では書くことが多く、ユニットテストを作る際も、テストデータではかかわる部分だけを用意したデータで処理していた。
DPPでやっているわけではないが、関連する部分だけのデータで良いというのを主張してもらえて、「やっぱそうだよね」と意味もなく後ろ盾を得た気分。
感想
DDPの設計を使うことで「頭で理解しやすくなる」のはそうかもと思った。
クラスはクラスで結構頭のメモリを食うので、継承は難しい仕組みだと私は思っています。
再利用性とか安全性は高まるので全然使いますが、学習初期は「頭の中においておきながら他のコードを読む」のが難しいなぁと思っていました。
メインの登場人物である Theo(Sinior Developer)が簡単なコードを書くだけで、Joe(コンサル側)がやたら褒めていていいなと思いました。
たとえSenior Developerだとしても、新しく習ったことを実践できていたら、褒めていきたいですよね。
Discussion