この記事では、『良いコード/悪いコードで学ぶ設計入門』を読んでみての感想をまとめています。
どんな本か気になる方はこの記事を読んで参考にしてみてください。
エンジニア歴に関わらず学べる部分が少なからずある本だと思います。
概要
まずはこの本の概要から紹介します。
シンプルに一言で表すと「悪いコードを避け良いコードを書いていくための本」です。
「悪い」「良い」という言葉の定義は人によって違いますが、本書の中では定義がされており、どのコードのどんなところが悪いか、良いかということをわかりやすく説明してくれています。
メソッド名や変数名などの初歩的なところから、リファクタリングなどのプロジェクト全体のところまで、幅広い範囲で良い設計するための方法をわかりやすく紹介しています。
こんな人におすすめ
この本をおすすめするのは、歴3年目以内のエンジニアです。
私も3年程度の経験ですが、学びになることばかりでした。
実務である程度コードは書けるようになってきたが、「この設計方法がベストなのか」、「もっと良い書き方あるのでは」と思うことも多くありました。
そんな時に本書を読んで、より良いコードの書き方と考え方を学ぶことができました。
さらに根拠となる実例もコードとして読むことができるのでイメージしながら読み進めることができました。
駆け出しはもちろん、3年程度経験を積んだエンジニアに刺さるような内容になっていると感じました。
3年目以上のエンジニアの方でも、必ず学びになる点はある内容になっていると思います。
この本を選んだ理由
この本を選んだ理由の一番大きな理由は、エンジニアとして設計について学んでおきたかったからです。
開発は、ある程度コードが書くことができれば進めていくことができます。
しかし雑な設計で進めた開発は後になって大変苦労するということを実務を通して実感しました。
ただコードを書くだけではなく、より良い設計でコードを書き、悪い設計を見つけリファクタリングできるようになりたいと思うようになりました。
そんな時に見つけたのが本書です。
2023年のITエンジニア本大賞に選ばれ、多くの方が良書だと紹介していたこともあり私も読んでみることにしました。
印象に残ったポイント
細かいテクニックや具体的なコードの書き方についてはぜひ本書を読んで学んでいただきたいですが、考え方の部分で勉強なった点があります。
そのポイントは以下の2点になります。
- すでにあるコードが正解とは限らない
- エンジニアの成長速度は変更容易性によって決まる
すでにあるコードが正解とは限らない
まず1点目は、「すでにあるコードが正解とは限らない」ということです。
これは、リファクタリングの観点でとても重要な考え方になります。
特に、先輩の書いたコードや既に存在しているコードはそれが最適解だとつい思ってしまいがちです。
駆け出しのエンジニアだと特にそうだと思います。
しかし、先輩のコードや既にあるコード最適である根拠はどこにもありません。
常に「もっと良い書き方があるのでは」、「なぜこの書き方になっているのか」という視点を持つことで、より良いコードに修正できたり無駄なコードを減らすことができるかもしれません。
エンジニアとしての成長スピードも格段に上がると感じました。
何も考えずコードを見たり書いたりするのはやめようということです。
エンジニアの成長速度は変更容易性によって決まる
続いては「エンジニアの成長速度は変更容易性によって決まる」です。
これは変更しやすいコードとそうでないコードを比べた時の開発工数をベースに考えます。
変更しやすいコードで設計したものは、その後の機能拡張や修正にも柔軟に対応でき開発工数は短縮できます。
しかし、変更しにくいコードだとそもそもコードを理解するのに時間が取られてしまい、本来やりたかった開発に進むまでにロスが発生してしまいます。
エンジニアとしての成長が早いのはもちろん前者です。
変更容易性の高い設計をすることで、より多くの開発経験を積むことができ結果としてエンジニアとしての成長速度も早くなります。
まとめ
いかがだったでしょうか。
細かいテクニックや設計方法はもちろん、エンジニアとしての土台となるような考え方も学べる1冊になっています。
気になった方はぜひ手に取ってみてください。