アルパカログ

継承はできるだけ避ける。名付けと凝集度「CODE COMPLETE」まとめ

2020年5月11日
🔖プログラミング🔖読書メモ

「神は細部に宿る」という言葉があるように、洗練されたコードは細部まで無駄がない。

無駄がないから誰にとっても読みやすいし、保守もしやすい。

洗練されたコードを書きたい人にとって、「CODE COMPLETE」は古いが色褪せないエッセンスに溢れている。

コードのある部分で作業しているときに無視しても問題のない部分をできるだけ増やすことが、優秀なプログラマになるための鍵である。

このエントリでは、「CODE COMPLETE」の6章「クラスの作成」と7章「高品質なルーチン」の内容をまとめる。

名付け

クラス

関数

包含

継承

リスコフの置換原則

派生クラスは、ユーザーが基底クラスとの違いに気付かずに、基底クラスのインターフェイスを通じて使用できるものでなければならない

抽象化

何が起きているのかを理解するために基本実装を調べなければならないとしたら、それは抽象化ではない。

クラス

account.ContactPerson().DaytimeContactInfo().PhoneNumber()

account.ContactPerson() までは良いが account.ContactPerson().DaytimeContactInfo() は良くない

関数

凝集度

機能的凝集度

タグ