じゃそが選ぶ初心者エンジニアにオススメしたい本ランキングTOP3

エンジニアリング

おはようございます。じゃそです。

最近ダンスの友達でエンジニアをやっている人に、プログラミングを教えていて、あまり家で勉強できていないという話を聞いたんですね。

エンジニアって、仕事だけでプログラミングをしていても、なかなか身につかないというのを4年間エンジニアをやっていて、感じました。スキマ時間で、勉強できるように、その子には本を1冊オススメしました。

この記事では、じゃそがエンジニア時代に読んで、良かったと思った本をランキング形式で3冊ご紹介します!エンジニアをやっている方は、ぜひ参考にしてみてください!

第1位:リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

じゃそが堂々の第1位に選ぶ本は、『リーダブルコード』です。

この本は、そのタイトルの通り「読みやすいコード」を書くためのテクニックが書かれている本です。サンプルコードをたくさん書いていて、すごくわかりやすい本です。余白も多いため、他の技術書と比べても、非常に読みやすいため、初心者エンジニアにおすすめの本です!

使い方としては、参考書のような使い方がおすすめです。最初は関数や変数にどんな名前をつけていいのかもわからないという方も多いと思うんですが、この本はそういった悩みをすぐに解決してくれます!

購入はこちらから

自分が書いたコードをわかりやすくする理由

「なぜわかりやすいコードを書かなければならないのか?動けばいいじゃないか。」と考えているエンジニアの方もいるかと思うんですが、これめっちゃ重要です。

なぜなら、今の開発では、実装したものに修正を加えて、新しいものにアップデートしていくような作り方が多いからです。「作ったら、はい終わり」ということはないのです。

そうなると、自分の書いたコードは、自分や他の人が改修することになります。そのときにわかりにくいコードだと、読み解くのに時間がかかってしまいますし、最悪の場合バグを埋め込むことにもなってしまいます。

だからこそ、最初から綺麗なコードを書くことが求められるんです!

リーダブルコードの口コミ

リーダブルコードは、Amazonでの評価で星5のうち、4.5を獲得しています。まずはこの本といっても過言ではありません!

ソフトウェアを複数人で開発する場合、それぞれが我流の実装だと読みにくさが増してしまいます。

この本は、名前の付け方から体裁・分量まで、読みやすい実装にするにはどうすればいいかが記載されています。

これからたくさん実装する人にはもちろん、ある程度実装経験のある人にもおさらいとしてオススメできます。

ただ、職場によってはコーディングガイドラインが決められている場所もあると思うので、
本書で使える内容、使えない内容の取捨選択は必要だと思います。

Amazon レビュー

変数の命名規則やコメントの書き方が、分かりやすく説明しています。
コードを読むだけで、処理内容が分かるようなコードが書けるようになります。
チームでコードを書くなら、共通知識としてあると便利です。

Amazon レビュー

第2位:プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則

第2位は、『プリンシプル オブ プログラミング』です。
どんなプログラミング言語でも、当てはまるような基本的な101のことを解説してくれている本です。

プログラミングには、「銀の弾丸はない」と言われています。銀の弾丸とは、問題を一発で解決できる解決策の比喩です。つまり、プログラミングで課題を解決するのに、正解は一つではないということです!

だからこそ、色々な考え方や解決策を知る必要があるのです!
そんな考え方を知ることができるのがこの1冊です。

購入はこちらから

3つのシンプルな考え方

この記事では、本書で紹介されている3つのシンプルな考え方について、ご紹介します。

DRY(Don’t Repeat Yourself)

情報は一箇所で管理しておき、必ずそこから参照しようという原則です。

ソフトウェアの中で一意に決まるものなどは、一つのファイルに用意しておいたり、同じ動作を行うコードはコピペしていろんな場所で使うのではなく、関数化したりするということです!

情報がばらばらだと探すのに苦労しますし、見つからなかったらまた新しく作ってしまうかもしれません。そうなると、一方は修正したのに、他の部分は修正できていないという状況にもなってしまいます。

だからこそ、同じ内容は一つにまとめておく必要があるのです。

YAGNI(You ain’t gonna need it)

機能は必要になるまで、実装しないという原則です。

後で使うかもしれないと作ったもののほとんどは使われず、時間が無駄になってしまいます。開発には時間や人などのリソースがかかります。開発の期間が長くなればなるほど、そのソフトウェア開発にかかるお金がかかり、採算が取れなくなってしまいます。

これから、拡張していくことが予測されるのであれば、新しく実装するときにやりやすいように、設計をしっかりするのです。時間は有限です。

時間を無駄にしないために、コードは常にシンプルにしておくことが大切です。

PIE(Program Intently and Expressively)

ソースコードは、誰がみても読みやすいように書こうという原則です。

上述したとおり、開発は継ぎ足して作っていくのが一般的です。また、自分だけで開発するということはなく、他のエンジニアと一緒に開発していきます。

そのため、自分が後で読んでもすぐに理解できるように、そのコードを知らない人がみてもすぐに理解できるように、書いておくことが大切なんです!

そのためのテクニックは、第1位で紹介した『リーダブルコード』で学ぶことができます!
このように『プリンシプル オブ プログラミング』では、テクニックではなくプログラミングの考え方を学ぶことができます!

プリンシプル オブ プログラミングの口コミ

Amazonでのレビューで星4.4とこちらも非常に高く評価されています!ただ、リーダブルコードよりは、少し読みづらいので、そこは頑張りましょう!

これを読めば明日から劇的に何かが変わるタイプのノウハウ本ではないが、本書で紹介されている原理原則を念頭に入れて仕事すると後々に効いてくると思わせるような本。

良い現場であれば、自然と本書の内容が身につくだろうが、
残念ながら、現場や上司を選べる立場の人は少ないと思うので、
諦めずにこの本を読んで学んでほしい。

サブタイトルから若手がターゲットの印象を受けるが、
レビュワーや教育をする立場にある人こそ、
本書の原理原則が実践できているかを内省しながら読んでほしい。

Amazon レビュー

本書をきっかけに、各言語のバイブルや著名な技術書を知ればよい。
巨人の肩の上に立ちましょう。

達人プログラマに書いてあることのうちいくつかは古臭くなってしまったけど、
本書のプリンシプルは、不変だ。

ソフトウェアは複雑で、それを書くのもまた難しく、
「高生産性ツール」なんかが出まわっても、決して夢のホームランバットではない。

その真実に気づき、それでも真摯によいものを作ろうとする。
そんな思いで経験を積んできたひとには、刺さるものがあると思います。

Amazon レビュー

第3位:新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

第3位は、『リファクタリング』です。

この本は、今あるコードをよりよい形に修正するリファクタリングの技術について、解説されている本です。リファクタリングのテクニックについて書かれている本ですが、新しく実装するときにも非常に参考になります!

DRY原則を満たすために、同じような処理を関数化するときの具体的な技術も書かれています!しかも、この本はサンプルコードもたくさんかかれていて、段階的に修正していくことができるので、初心者から上級者まで、使える本になっています!

購入はこちらから

「コードの不吉なにおい」を感じられるようになる

リファクタリングを行うには、このコードは修正した方がいいという「におい」に気づくようにならなければなりません。このままにしておくとまずいコードと、そのままでもいいコードを見分けるのも、エンジニアに求められるスキルです。

どういうコードが悪くて、どういうコードが良いのかを知ることができる1冊になっています!

こういう時はこう直すという具体例がたくさん書かれているので、まだまだコードに触れる機会が少ない初心者エンジニアの方でも、理解しやすくなっています。

リファクタリングの口コミ

Amazonレビューで星4.3を獲得していて、こちらも評価の高い1冊です!

第2版はJavaScriptでの説明になってしまっているらしく、どちらかというとJavaに近い言語で開発している私はこちらを購入しました。

どういうリファクタリング方法があり、どういう場面で適用すればよいか、どういう手順なら既存コードを壊さず安全にリファクタリングができるか、がサンプルコードとともに丁寧に説明されており、大変素晴らしいです。 既存の残念なコードを修正したい人だけでなく、残念なコードを生産したくない人にもおすすめです。

Amazon レビュー

プログラマに求められるのは、
機能を追加するためにコードを書き、
障害を修正するためにコードを修正し、
正しく動作するソフトウェアを開発することです。

しかし、この本によって、プログラマに課せられる使命が、
それだけはないことが明確に再定義されました。

それは「コードはメンテナブルでなくてはならない」ことです。

そして、そのための活動が「リファクタリング」です。
定義上「機能追加しない」「障害修正しない」タスクですが、
それがプログラミング活動に必達事項として定義されたのです。

Amazon レビュー

まとめ|初心者エンジニアは本で体系的に学ぶことも大切

いかがでしたか。
今回は、じゃそがエンジニア時代に読んで、良かったと思った本をランキング形式で3冊ご紹介しました!

調べればなんでも出てくる世の中だからこそ、本で学ぶことも大切だなと思っています。ぜひ、気になった本があったら、読んでみてください!

タイトルとURLをコピーしました