ITエンジニア本大賞2023 技術書部門の大賞受賞作品の改訂新版。
実際のソフトウェア開発で起こりがち、犯しがちな設計上の問題を取り上げ(つまり悪いコードの事例を取り上げ)、何がいけないのか、どのようなコード(つまり良いコード)に修正すれば問題を解消できるのかを解説しています。本書での良し悪しのポイントは、基本的には保守のしやすさにあります。
理論に偏重した難しい内容ではなく、どちらかといえば基本的・入門的な内容になっています。解説に使っているプログラミング言語は Java ですが、コードの分量は少ないですし、ほかの言語には存在しないような珍しい機能を使ったり、特定のフレームワークに依存したりはしていないので、クラス、継承、public や private などのアクセス指定といった基本的な機能をもったオブジェクト指向プログラミング言語の経験があれば、Java の経験がなくても十分に読めるかと思います。
クラス単体、クラス間の連携、メソッド(関数)といったそれぞれの粒度での設計の考え方に触れているほか、名前やコメントといったより基本的なことにも言及しています。そのほか、リファクタリングや、開発者やチームの意識に関する話題にも及んでいます。このように話題の範囲は広めなので、1つ1つはコンパクトな分量に留まっています。
そこまで難易度は高くないですし、著者の考え方が最後まできちんと貫かれているので、設計の考え方を学ぶうえで良書だと感じました。ただし、設計の考え方はさまざまにありますから、本書の内容を唯一の答えであると捉え るのではなく、「本当にそうだろうか?」「自分ではこうするがどうだろう?」などと考えながら読むべきものだと思います。新人開発者を交えて、チームの皆で議論するのに使うのもいいのではないでしょうか。
本書は改訂新版です。初版と基本的な方向性に違いはないですが、カプセル化、関心の分離、多態性による機能の取り換えの3点を重要な基礎として、よりよく伝えられる内容に改善することが目的の改訂になっているとのことです。初版からの変更内容はこちらのページで詳しく説明されています。
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。
【紙媒体】
【電子書籍】
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |