限界プログラマーの備忘録

安心してぐっすり眠りたい

「良いコード/悪いコードで学ぶ設計入門」を読んで

概要

良いコード/悪いコードで学ぶ設計入門」という書籍は、著者が実際に開発プロジェクトで経験した良い設計と悪い設計の例を取り上げ、それらを比較することで、良い設計の原則を解説するというものです。具体的には、コードの可読性、保守性、拡張性、再利用性などの観点から、良いコードと悪いコードの例を示し、その違いや改善点を説明しています。

この書籍は、実践的な視点から設計の基礎を学びたいという人や、既存のコードを改善するためのアイデアを得たいという人にとって役立つと思われます。また、プログラマーのキャリアアップにもつながる重要なスキルの一つである設計の考え方を身につけたいという人にもおすすめです。

学べる事・得られる事

詳細

  • 特に名前の設計やオブジェクト指向を利用した設計パターン
  • 値オブジェクト・ファーストクラスコレクションやストラテジパターンを用いて凝集度(関心事のロジック)を高めて表現もわかりやすくする
  • 破壊的代入に対して完全コンストラクタでできる限り不変にしたい
  • 保守面でもテクニックが掲載されている
  • 「レガシーコード改善ガイド」などのスプラウトクラスが紹介
  • 80:20の法則や木こりのジレンマなども紹介

以下感想

  • 初心者から中級者にステップアップする段階なら参考になることが多いと感じた。 初心者から中級者になる段階とはコードは書けるが保守のしやすさがいまいちという段階。ここに書かれていることを実践することで、ロジックがばらつかなくなり凝集度が高くなると思う。凝集度が高いと、再利用性が高くなり保守しやすくなる。同時に表現豊かになりリーダブルになるように思う。

  • 悪魔を排除 「なんかよくわからないけどnullチェックする」「どんな値が入っているかわからないから改めて代入しておく」という対策。あるいはそんなこともせずに、予想しない不具合が発生させている現場もあるかもしれない。しかし、そもそもそうならないようにオブジェクトで表現したり、不変にすることで不穏な匂いさえ断ち切れるということ。名前も大切。

まとめ

保守力のステップアップには最適