座学だけでなく、実際のコードを用いて説明されているので、読みやすく、理解しやすいです。 プログラミング初心者は、設計の基礎やアンチパターンを知ることができて、周りとの差をつけることができます。 熟練の方でも、新しい発見や設計の基礎の再認識をすることができるおすすめの本です。
サンプルコードが豊富で分かりやすい
デザインパターンを座学で学んでも実際に理解度が低くなって実践で使えないことが多いが、この本では、座学だけでなく、実際のコードを見ながら、何が問題でどのように設計すると良くなるかという視点で書かれており理解しやすい。
オブジェクト指向設計が学べる
プログラミングを始めると必ずと言って良いほど耳にする「オブジェクト指向」
なんとなく理解していた部分がかなり具体的に理解することができる。
単一責任の原則や、関心の分離、凝集度など重要な設計はもちろん、クラス設計や、名前設計などが体系的に学べます。
![良いコード/悪いコードで学ぶ設計入門 [ 仙塲 大也 ]](https://hbb.afl.rakuten.co.jp/hgb/34e4b8ae.cbe65940.34e4b8af.216c90a2/?me_id=1213310&item_id=20614354&pc=https%3A%2F%2Fthumbnail.image.rakuten.co.jp%2F%400_mall%2Fbook%2Fcabinet%2F7831%2F9784297127831_1_5.jpg%3F_ex%3D240x240&s=240x240&t=pict)
良いコード/悪いコードで学ぶ設計入門 [ 仙塲 大也 ]
設計の基礎 低擬集
低擬集を避ける。関連するデータロジック同士が分散しバラバラになっている状態を避ける。低擬集になると様々な弊害が起きる。
・重複コード
・修正漏れ
・可読性低下
・不正値の混入
意図せずにコードが量産されたり、仕様の変更による修正漏れや、バグの混入など様々な弊害をもたらすので、低擬集は避ける
マジックナンバー
説明がない数値は開発者を混乱させる。
return 60 < value;
この60という数字は購入した時に消費するポイントです。
しかし、この60という数字の意味は、初めて見る人は理解できません。
このような意図が不明な数値はさけ、定数に入れるべきです。
const USING_POINT = 60
定数に入れることで初見の人でも分かりやすくなる。
null問題
取り扱いが難しいnull。
基本的に、メソッドのreturnでnullを返さない、メソッドに渡さないようにする。
nullによる例外やトラブルを避けるため、そもそもnullを取り扱わない設計にすることが大事。
nullの代わりに「false」や「''」など返すようにする。