リファクタリング入門 第3,4章
第3章はコメントに書くぐらいならassertionを使えというもの.assertion使ったことないなあ.
第4章はnullチェックが多くて読みにくかったり,抜け漏れがありそうだったらNullオブジェクトを使おうという物.
if (customer == null) plan = BillingPlan.basic(); else plan = customer.getPlan();
この例だと
public class Customer { public Plan getPlan() { ... } } public class NullCustomer extends Customer { public Plan getPlan() { return BillingPlan.basic() } }
というふうに作っといて,customer.getPlan()でポリモーフィズムというところかな.