Open1

現場で役立つシステム設計の原則 メモ書き

松田幸典松田幸典

1.小さくまとめてわかりやすくする

設計とは、ソフトウェア全体をすっきりした形に整えることです。どこに何が書いてあるかがわかりやすくし、修正や拡張が楽で安全になるコードを生み出すこと。

ソースコード自体が整理整頓されてわかりやすくする。これが設計

良い設計の恩恵

  • 変更が楽で安全

悪い設計の特徴

  • メソッドが長い
    -認知負荷高い
  • クラスが大きい
    • 関心ごとを詰めすぎている
  • 引数が多い
    • 関心ごとが多い

プログラムの変更が楽になる書き方

  • わかりやすい名前を使う
  • 長いメソッドは段落でわかりやすく
  • 目的事に変数を用意(変数の使い回し→破壊的代入)
    • 説明用の変数の導入
  • メソッドの抽出

データとロジック

  • プログラムの基本はデータを使った演算(判断・加工・計算)

値を異常値にしないために値オブジェクト(ValueObject)

コレクションの多様は、複雑さが増す


所感

  • コードレビュー時にこれの一覧表があれば良いのでは?
  • 値オブジェクト周りは良いコードの時と同じ?