Amazon.co.jp: 良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方 eBook : 仙塲 大也: Kindleストア
メモ
- インスタンス変数の上書きは理解を難しくする
- 設計パターン
- static メソッドは低凝集な構造になりやすい
- ファクトリメソッド
- 多すぎる引数
- プリミティブ型執着
- 関数を汎用化しようと意識し過ぎると陥りがちなイメージ
- プリミティブ型執着
- 単一責任の原則
- 同じ条件式を複数書かず、一箇所にまとめる
- switch 文を書く前に, interface で switch を書かずに実現できないか検討する
- inteface 実装クラスの型を調べて分岐するのであれば意味がない
- リスコフの置換原則に違反している
- inteface 実装クラスの型を調べて分岐するのであれば意味がない
- フラグ引数
- メソッドの機能を切り替える bool 型引数のこと
- 関数利用者がフラグにより何が起こるか内部ロジックを見る必要が出るケースが発生する
- メソッドの機能を切り替える bool 型引数のこと
- 密結合
- private メソッドの多いクラスは単一責任ではなく, 多くの責任を持っている可能性が高い
- 疎結合で高凝集を意識する
- 高凝集だけを意図して関係していそうなロジックを一箇所にまとめ上げたものの結果として密結合に陥っているケース
- トランザクションスクリプトパターン
- データクラスとデータを処理するクラスで分けている場合に頻繁に実装される
- 低凝集密結合
- null 例外や null チェックを避けるために null は返さず, 渡さないようにすることが大事