初心者エンジニア・情報系学生に役立つ必読本4選

このページにはアフィリエイト広告が含まれます。

プログラミングで条件分岐や関数またはクラスの作り方について、学んだ人の次のステップにおすすめの本になります。関数やクラスの作成について、どのように作成・修正していくとよいかの考え方について学べる本を紹介しています。また、ソフトウェアを実装していくうえで基礎的な考え方を学べる本を厳選したものです。

Clean Architecture : 達人に学ぶソフトウェアの構造と設計

Robert.C.Martin (Uncle Bob)というとても有名な著者が書いたソフトウェアアーキテクチャの本になります。「アーキテクチャのルールはどれも同じである!」としてアーキテクチャについて考える本になります。
プログラミングのパラダイム、SOLIDの原則、コンポーネントの原則について言及して、アーキテクチャについてまとめていきます。ソフトウェア開発の基礎的な考え方になるので早めに読むことをお勧めします。

また、少しレベルが高くなるかもしれませんが同著者の本「アジャイルソフトウェア開発の奥義」や他のCleanシリーズ等もおすすめです。もしよかったら読んでみても良いでしょう。

アジャイルソフトウェア開発の奥義

Clean Code

関数型デザイン

リファクタリング : 既存のコードを安全に改善する

Martin Fowlerというとても有名な著者が書いた本になります。プログラムを安全に変更して、その設計を改善していくための手法が記述されています。
リファクタリングはソフトウェア開発に携わる人なら全員に必須な技術になります。また、リファクタリングは次のテスト駆動開発についても関連していますし、いろんな本の基礎知識として扱われるので可能なら早めに読んでおきたい本になります。また、著者のMartin FowlerはWebサイトも運営していて、技術的な記事を多く公開しています。興味があれば、検索して読んでみてもいいでしょう。ただし、当然ながら海外のサイトなので、ブラウザにgoogle翻訳などの翻訳系の拡張機能を入れておいても良いかもしれません。

リファクタリングに関連した本として、データベースリファクタリングという本があります。こちらはリファクタリングが難しいとされるデータベースのリファクタリングについての本になります。少しレベルが高いかもしれませんが、関係データベースについてのデータベース設計にかかわる人や関係データベースを利用する立場でもおすすめな本になります。少し古い本ですのでこの本のパターンについてはある程度ツールの機能として出されたものがあるかもしれません。日本語にも訳されていますが古く手に入りにくく、その値段も高めになっているみたいです。読みたい場合は英語の原文の方が電子書籍として販売されているのでそちらを手に入れて、電子書籍アプリにある翻訳機能を使いながら読むとよいかもしれません。

関連:データベースリファクタリング

テスト駆動開発

Kent Beckというとても有名な著者が書いた本になります。テスト駆動開発はプログラミングの不安を管理する方法で、最初にテストコードを書くことで、自分のプログラムが正しいことを確信でき、さらにプログラムを改善するためのリファクタリングも正しく行えることを確認できます。問題は一度に行わずにTo Doリストに問題点を書き加えていき、一つ一つの問題を確実に進めていって解決していきます。
この本によって信頼できるプログラムを作成することできるようになります。また、この本の範囲を超えることにになりますが、この方法を利用して作成したテストは自動化することで何かの機能を追加したときにそのプログラムの全体が壊れていないかどうかをすぐに確認できるようになります。

達人プログラマー(第2版): 熟達に向けたあなたの旅

Andrew HuntとDavid Thomasが書いた本でとても有名なものになります。この本の第1版が出版されてから20年後に改訂されたものですので、少し古く感じる部分もあるかもしれませんがソフトウェア開発の考え方としての要点はほぼ不変的な考えのものが多いので、とてもおすすめです。この本は有名なDRY(Don't Repeat Yourself)原則の元ネタになります。DRY原則は、仕様書、プロセス、プログラムの知識における二重化の問題におけるTipsになります。他にも多くの参考になるTipsがあります。