Open4

[読書メモ]データ指向プログラミング(ISBN: 9784798179797)

くそぼうずくそぼうず
  1. 原則 #1: コードをデータから切り離す
    • 状況による
    • (感想)ちょっと触ったことがあるレベルであるが、Goを使っていればコードとデータが切り離した書き方が自然になりそう。関数型言語も同様。JavaとかだとOOPっぽい書き方に寄りそう。TypeScriptだと、チームにルールがなければ、OOPっぽい書き方やDOP っぽい書き方が混在しそう。
    • (感想)OOPっぽい書き方をして振る舞いが予測できなくてDOP書き方にすべきという話になったのであれば、設計を見直した方がいいのかなと感じた。
  2. 原則 #2: データを汎用的なデータ構造で表す
    • 同意できない
    • (感想)型がある言語の良さを潰してしまっているように見える。この原則に従うと、IDEやエディタで補完がほぼ効かなくなるのでは?と感じる。
  3. 原則 #3: データはイミュータブルである
    • 同意できる
    • (感想)値渡しと参照渡しが隠蔽されている言語だと、期待していない部分の値が変わってしまうことがあるので、イミュータブルにするべき。
  4. 原則 #4: データスキーマをデータ表現から切り離す
    • (静的型付け言語で開発しているのであれば)同意できない
    • (感想)データを表現するために型があるのでは?と感じた。
    • (感想)動的型付け言語だと構造をコード上に表現できないので、本で出てくるようなライブラリを使ってデータを検証するのは良いと思う。
くそぼうずくそぼうず
  • 雑な感想
    • 付録とかで言及されている言語を見るとGoがなく、Go使えば筆者が課題に感じている問題を解決できるのでは?と思った。
    • サンプルの問題がバックエンドのWeb APIを作る感じの問題だった。であれば、サンプルコードはJavaScriptではなく、他の言語の方がしっくり来るのではと感じた(JavaScriptでバックエンドのコード書くプロジェクトって多いのだろうか?)。