『オブジェクト指向でなぜ作るのか』を読んだ。
- この本は2018年にエンジニアとして研修を受けていた時にkindleで買った本です。
- 当時はこの本を読んでもオブジェクト指向が分からなかったのか、研修での配属面談した上司に「オブジェクトって結局なんなんですか?」と聞いた覚えがあります。 確かめちゃめちゃ困ってたし、私が今同じ質問を年次上の後輩にされても困る自信があります。
- 他に配属面談で聞かれて覚えているのは「研修でやった中(SQL/HTML&CSS/Java→FizzBuzzが書けるレベル)で何が一番好き?」と訊かれた覚えがあり、こちらは当時「(Excelの便利版みたいだから)SQL」と答えた覚えがあります。(ちなみに今はそんなに好きじゃないです)
この本を読んだきっかけ
良いと思った点(実践してみたいと思えるような内容等)
- 「第12章 オブジェクト指向を使いこなそう」での"オブジェクト指向の利用自体を目的にしてはいけない"という言葉はどんな技術やツールにでもいえるような言葉ですごく良く思えた。
「特に設計レビューやコードレビューの際に「これはオブジェクト指向らしい設計じゃない」といった発言が繰り返されたら要注意です。もしかすると、オブジェクト指向が手段の代わりに、目的になってしまっているのかもしれません。
上記のような場面は個人開発やグループでの社内研修などをしてる際によくみられるのではないだろうか?と感じる。上のようなやり取りが苦手で"設計を考える"ということを避けてしまうようになった人も珍しくはないと思う。
- 設計は沼で設計の沼に悪いハマり方をしてしまうと「正しい設計(その他:web,プログラミング,プログラミング学習)のあり方」といったものを人に押し付け「正しい」ものであることを目的にしてしまうことが往々にしてあると思う。こういったときに
"xxの利用自体を目的にしてはいけない"ということを思い出せるようにしておきたい。
一読した際には読み切れてなかったのか、「第11章」ではアジャイル開発とウォータフォール開発などの開発手法にも(OOPと相性がいいものというような形で)言及していた。 そういった意味では「オブジェクト指向プログラミング」が分からなくなった人以外にも初学者等の人にも勧められる本なっていると思う。
各章のおわりに「より深く学ぶための参考書籍」が付いていたのが「どの部分が解説された本」なのかと言ったことまで書かれている点が良いと感じた。
悪い点(苦手な点)
「コラム」が鬱陶しく(閑話休題として出されるクイズ)に対して「それは本当に読者が求めているものだと思っているのですか?」などの気持ちになります (しかし、このコラムなどをきっかけとしてその他開発手法や簡単なプログラミングの歴史などについて書いてあるのでうっとおしいという気持ちまでにしておくのが適当だと感じた)
最後「13章 関数型言語でなぜつくるのか」の内容が(無知・怠惰・読み飛ばし・やる気のなさ等から)全然わからなかったので、残念だった。
まとめ
「コラム」がうっとうしいなどの気持ちになりますが、まぁ読みやすい本であることは確かです。また、読みやすい上にオブジェクト指向プログラミング(やその他の開発手法など)の話をしていて人に勧められる本だと感じた。
一回読むだけではなく何かしら理由をつけて2年に1回程度読むとプログラミングのありがたみが出るタイプの本です。 (ちなみに自分の中で『リーダブルコード』は1年に1回読んだ方がいい本としているので、そこから推し量ってください。)