プログラミング

【レビュー】オブジェクト指向設計実践ガイド【書評】

オブジェクト指向設計実践ガイド

どうも、Railsエンジニアのシューヘーです。

オブジェクト指向でコードを書く練習をするのに、「オブジェクト指向設計実践ガイド」という本が良いと聞いたけど、実際どうなの?。実際に読んでみた人の感想を聞いてみたい

こんな悩みに答えます。

 

この記事の内容

・「オブジェクト指向設計実践ガイド」のレビュー・感想

・「オブジェクト指向設計実践ガイド」の内容

・どんな人におすすめか

「オブジェクト指向設計実践ガイド」は、Rubyでオブジェクト指向なコードを書く練習ができる書籍です。

 

先日この本を一周読み終えたので、レビューをしようと思います。参考書選びの参考になれば幸いです。

「オブジェクト指向設計実践ガイド」のレビュー・感想

オブジェクト指向設計実践ガイド

この本の内容

ざっくり内容を解説すると、以下の通りです。

・なぜ、アプリケーション開発にとって設計が重要なのか?

・オブジェクト指向設計の実践(実際にコードを書きながら解説)

・テストの書き方(どこをテストすべきか)

内容は重ためですが、オブジェクト指向な設計をするとはどのようなことなのかを理解することができます。

個人的に良いと感じたところ

この本がいいなと思ったポイントは、以下の2つです。

・実際にコードを書きながら、オブジェクト指向を学べる

・Rubyでオブジェクト指向について体系的に解説しているのは、この本だけ

ただ概念を解説するだけでなく、実際にコードを例として示しながら、オブジェクト指向のことを説明してくれているのが良いなと感じました。

 

実際に手を動かさないと、コードは書けるようになりませんので。

 

また、Rubyでオブジェクト指向について解説している本は、おそらくこの本1冊だけです。Rubyを書くエンジニアとして働くなら、いずれは読むことになる1冊だと思います。

ここはイマイチだと感じたところ

以下の2点です。

・内容が難しい

・日本語訳が少し分かりにくい

「単一責任」「疎結合」「インターフェース」「ダックタイピング」「継承」「モジュール」「コンポジション」といった、聞き慣れない言葉がたくさん出てきます。

 

初心者向けの本ではないので、ご注意ください。

 

また、訳者さんを批判するつもりはないのですが、日本語訳が少し分かりにくいと感じました。(自分の知識不足で読みにくいと感じだだけかもしれませんが・・・)

 

とはいえ、Rubyについてオブジェクト指向について体系的に学べる書籍は今の所これしかないので、何回も読み込んで習得するしかないですね。

Kindle版か紙の本か

個人的には、紙の本がおすすめです。

 

理由は、Kindle版だと離れた2ページ間をすぐに移動できないのですが、紙の本ならすぐにパラパラめくってすぐに見ることができるからです。

 

技術書を買うときは、パラパラいろんなページを見ることが多いので、紙の本が無難です。

 

(僕はKindle版を購入して、少し後悔しています・・・)

「オブジェクト指向設計実践ガイド」はこんな人におすすめ

以下に当てはまる人におすすめしたいです。

・働き始めたばかりの新米エンジニア

・オブジェクト指向を勉強したい、中級者以上の人

 

逆に、以下のような人にはおすすめしません。

・プログラミングを始めたばかりの初心者の方

初心者の方がこの本を読んでも、なんのことやら分からなくて面白くないと思います。

 

僕はエンジニアとして働き始めて3ヶ月ほどしたぐらいにこの本を読みましたが、正直すべて理解できている自信はありません。笑

 

ちなみに、「オブジェクト指向って何それおいしいの?」というレベルの方は、まずはオブジェクト指向でなぜつくるのかを読んでみるといいでしょう。

 

上記の本は、初心者向けにオブジェクト指向を噛み砕いて説明してくれているので、理解しやすいと思います。

さいごに

以上、「オブジェクト指向設計実践ガイド」のレビューでした。この記事の内容をまとめます。

・実際にコードを書きながら、オブジェクト指向を学べる

・Rubyでオブジェクト指向について体系的に解説しているのは、この本だけ

・内容は難しいので、中級者向け

・Kindle版よりも紙の本がおすすめ

今の自分のレベル感に合っているかどうかも考えつつ、どんな書籍を購入するか考えてみてもらえればと思います。

 

少しでも技術書選びの参考になれば幸いです。

では、以上です。

 

この記事内で紹介した本

オブジェクト指向設計実践ガイド:実際にコードを書きながら、オブジェクト指向を学べる。中級者向け。

オブジェクト指向でなぜつくるのか:「オブジェクト指向とは?」という疑問を解消してくれる。初心者はまずこちらから。