どうもです、タドスケです。
先日、以下の本を読み終えました。
「AI で誰でもラクラクアプリ作成!」みたいな本が目立つなか、現場の実情にも触れた「地に足のついた本」だと思ったので、レビューをまとめておきます。
現場に必要な基礎が幅広く紹介されている
本書の主な内容は以下です:
- 技術的負債について
- 名前のつけかた
- コメントの使いかた
- 凝集度・結合度
- コードの依存関係について
- KISS, YAGNI, DRY などの原則
- 車輪の再発明、銀の弾丸などの教訓
- マジックナンバーの問題点
- データの不変化
- ボーイスカウトルール
- レイヤードアーキテクチャ・クリーンアーキテクチャ
- 自動テストの種類(単体・結合・E2E)
- テストの書きかた(AAAパターン、モックの使いかた)
- Git によるバージョン管理
- コードレビュー
これらはいずれも個人でアプリを開発する際にはあまり気にしなくてよい部分ですが、チームで開発をする際には必須の知識となります。
チームに入って一通り開発の流れを経験したエンジニアがこの本を読むことで、「あれってこういうことだったのか!」という気付きが多くあると思います。
原則 → 実例 → 例外 → 対処法がバランスよく紹介されている
本書で紹介されている手法は幅広く使えるものですが、どんな手法にも例外はあります。
例えば関数の頭で return してネストを下げる「早期リターン」について。
「あるケースではコードの流れが追いにくくなる」という例を挙げ、「when 式を使って書く」という代わりの手法を紹介しています。
実際の現場ではこのような例外は多くありますし、「わけあってそうなっている」コードに気付かずに手を入れて失敗…! というようなこともありうるので、ここまで説明してくれるのはありがたいです。
丁寧な語り口
著者自身もコメントしている通り、この本に真新しい内容は出てきません。
「クリーンアーキテクチャ」を読んだことがある人なら、一通りの内容は知っていると思います。
しかし「クリーンアーキテクチャ」は、内容は良いけど語り口が攻撃的なので僕個人としてはちょっと苦手で、他の人には勧めにくい本です。
その点、この本の語り口は終始「ですます調」で、「こうしたらダメ!」ではなく、「こんな解決策があります」「筆者はこう考えます」のように優しく伝えてくれます。
たとえ話も豊富で、難しい言い回しをできるだけ避けようとする著者の配慮を感じました。
AI 時代にこそ把握しておきたい、原理原則
以上、この本のレビューをまとめました。
AI にお願いするだけでコードが出てくる時代ですが、出てきたコードの良し悪しを判断し、責任を持つのは人間の仕事です。
その判断にあたり、このような基礎・原理原則を知っておくことは大切なことです。
そしてこの本は、それらの知識を幅広く・優しい口調で分かりやすく伝えてくれる、若手エンジニアに自信を持ってオススメできる良書だと思いました。

コメント