読書メモ:現場で役立つシステム設計(途中)
概要
「現場で役立つシステム設計の原則」という本を読んで作った読書メモです。
一度通しで流し読みをした後に、読書メモを作っています。
目次
書きかけの読書メモです。
メモを書き進めたりしたら、再度更新をします。
- 目的
- 設計に関する知識や考え方を身につける
Chapter1 小さくまとめてわかりやすくする
- 変更が容易なソフトウェアを作ろう
- 変更が容易なプログラムは、変更が楽で安全。
- 変更が容易なプログラムを生むのが良い設計。
- 変更が大変なプログラムの特徴
- メソッドが長い
- クラスが大きい
- 引数が多い
- プログラムの変更が楽になる書き方
- わかりやすい名前を使う
- 長いメソッドは「段落」に分けて読みやすくする
- 目的ごとに変数を用意する
- メソッドとして独立させる
- 異なるクラスの重複したコードをなくす
- 狭い関心事について特化したクラスにする
- メソッドは短く、クラスは小さくする
- 小さなクラスでわかりやすく安全に
- 値を扱う際には、値の範囲を制限しよう
- 値を扱うための専用のクラスを作ろう
- 値オブジェクトは不変にしよう
- 変数の値の上書きは危険。
- 型を使ってわかりやすく安全にしよう
- 複雑さを閉じ込める - 配列やコレクション型を使うコードは、専用の小さなクラスにまとめて管理しよう。
Chapter2 場合分けのロジックを整理する - プログラムを複雑にする「場合分け」のコード
- 判断や処理のロジックをメソッドにして独立させよう
- else 句をなくし、早期リターンの書き方(ガード節)で書くと、コードがすっきりする。
- 複文は短文に分けよう
- 区分ごとのロジックを別クラスに分けよう
- 区分ごとに暮らすを同じ「型」として扱おう
感想
(まだ途中ですが)設計についての知識がまだあまり身についていないので、ちゃんと精読して理解しようとすると時間がかかる…。
あと、Java で書かれているサンプルコードを自分の慣れた言語で書き直してみると理解が捗るのだろうか?