You are currently viewing 読書感想文:良いコードへの道しるべ

読書感想文:良いコードへの道しるべ

良いコードへの道しるべという本を読みました
コードはAIエージェントに任せることが多くなってきたので、レビュー力をつけたいと思い読んでみることにしました

簡単なまとめ

俗にいう「読みやすいコード」「理解しやすいコード」について解説されている本
内容はそこまで難しくないため、実践しやすいという印象を受けました
基本的だけど、普遍的な内容なので定期的に読み返してコーディングの軸を固めておきたいと感じました

各章のメモ

Chapter1:なぜ良いコードを書くのか

保守性が大事だという話
割れ窓理論が開設されており、窓が割れた車を放置しておくと治安が悪化するように、無秩序なコードを放置すると、どんどん無秩序なコードが量産されてしまう

Chapter2:動くコードから意図の伝わるコードへ

コードから「処理の意図」がわかるようにすることが大事
そのために、ワンライナーで書くより分割してコードを書く、コメントで補足、わかりやすい名前を付けることの重要性が書かれている
ドメイン知識をもとにコードを記述することで、現実との乖離を防ぎ、わかりやすいコードを作成することが出来る

Chapter3:大きな問題は分割して考えよう

一つの関数やクラスになんでもやらせるわけではなく、役割ごとに適切に分ける重要性が記載されている
「関心の分離」や「単一責任の原則」といった内容が解説されていた
コードの複雑度や凝縮度といった内容にも踏み込んでいる

Chapter4:コードの分類術

ディレクトリ単位での分類、モジュール単位での分類について、それぞれ記載されている

Chapter5:絡まったコードの依存関係を解きほぐせ

依存の方向や循環依存(と避け方)、抽象に依存させる重要性、結合度についての解説

Chapter6:良いコードを書く原則・教訓

KISS、YAGNI、DRYといった、コードを書くときに原則について解説された章
最後に、銀の弾丸(すべての問題を解決する万能案)が存在しないとも書かれている

Chapter7:うっかりミスを防ぐために

マジックナンバー(3.14といった数字の固定値。PIとかに置き換えたほうがわかりやすい)、ミュータブル/イミュータブルの活用法、肩を利用した制限など、ミスを防ぐ方法がまとめられている

Chapter8:コードは書くよりも変更するほうが難しい

ボーイスカウトルール(来た時よりも美しく)の考え方、不要なコードの削除の重要性など、既存コードの変更に関する注意点がまとめられている

Chapter9:アーキテクチャを考える

アーキテクチャとは構造や設計という意味
ソフトウェアのレイヤー構造を考えて、機能に着目して設計する方法が記載されている

Chapter10:壊さないための自動化テスト

自動テストの重要性と限界、結合テストやE2Eテストの実施について記載されている

Chapter11:チームで書く良いコード

Git、GitHubの活用方法や、Lintを使ったコーディングルールの自動チェック方法など、チームでコードを運用する基本的なノウハウがまとめられている

個人的な感想

ソフトウェア開発における保守しやすいコードを書くための基本的な内容がまとめられている
サンプルコードはKotlinで書かれているが、都度解説が行われているのでそこまで理解に苦しむことはないと思います

基本的な内容が多く解説されていますが、いざ読んでみると「これ出来てなかったな」と思う内容が多々あり、コードを書く/レビューする際に気を付けたいなと思う内容が多々ありました
すぐに実践できる内容も多いため、早速次回から実践したいと思います

逆に関心の分離や分割、依存性の部分はまだ自分がうまくできていない場所でもあるので、もう少しじっくり理解したいときに読み直したいと思います(返却期限の関係で読み直すことが出来なかった)

コメントを残す