読書録:クリーンアーキテクチャ

コードを書く時、課題に感じることが幾つかある
ぱっと出てくることを挙げると...

  • 後から分かりやすい・変更しやすいコードにしたい

    • 自信あるコードにしたい
  • どこから書いてくか迷う

    • 先の道筋を考えてコードを書こうとする
    • そんなことできるのか?
    • 道筋・どう分割するか、先に考えると書き進めづらい
    • とりあえず書き進めたほうが早い
  • どのクラスにどの責務を持たせるか分からない

    • 1つのクラス・メソッドに複数の役割をもたせてしまうことがある
    • 正しくコードを分割できている自信がない
    • ↑を防ぎたいからこそ、道筋を考えようとしてしまう

「後から分かりやすい・変更しやすいコードにしたい」というのが根本にある

コードを書く際「これはしない」「こうすべき」をまとめておくと、スムーズに実装できそう🤔
チェック形式でなくとも、頭に入れておきたい

Clean Architecture 達人に学ぶソフトウェアの構造と設計

Clean Architecture 達人に学ぶソフトウェアの構造と設計

まずはクリーンアーキテクチャを読んで探ってみる
途中からになるけど、 SOLID原則についてまとめる

SOLID原則

About

https://ja.wikipedia.org/wiki/SOLID

ソフトウェア設計の5つの原則の接頭語
自身仕事をしていても、設計やレビューの引き合いに出てくることがある

変更に強く、理解しやすく、再利用性の高い中間ソフトウェアを設計するためのもの

中間 というのは、ソフトウェア設計を何段階かに分けたうちの中間で、この書籍では以下の段階がある
コード - モジュール - (コンポーネント) - アーキテクチャ

SOLID原則はモジュール段階の原則

Principles

これからそれぞれ書いていくよ

  1. SRP (Single Responsibillity Principle) 単一責任の原則
  2. OCP (Open-Closed Principle) 開放閉鎖原則
  3. LSP (Liskov Substituation Principle) リスコフの置換原則
  4. ISP (Interface Segregation Principle) インタフェース分離の原則
  5. DIP (Dependency Inversion Principle) 依存性逆転の原則

まとめ

おまけ

wikipedia によるとソフトウェア設計の原則にはGRASPというのもあって、実践UML にまとまってるらしい

実践UML 第3版 オブジェクト指向分析設計と反復型開発入門

実践UML 第3版 オブジェクト指向分析設計と反復型開発入門

  • 作者:クレーグ・ラーマン
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2007/11/12
  • メディア: 単行本(ソフトカバー)