摘要:保存成两个小数
012-大型重构
发表于
分类于
重构
摘要:“interface”。容易被理解、使用的接口,是开发良好面向对象软件的关键
011-处理概括关系
发表于
分类于
重构
摘要:generalization,即集成关系
010-简化函数调用
发表于
分类于
重构
摘要:“interface”。容易被理解、使用的接口,是开发良好面向对象软件的关键
009-简化条件表达式
发表于
分类于
重构
摘要:条件逻辑可能十分复杂
- decompose conditional:将一个复杂的条件逻辑分成若干个小块。使得“分支逻辑”、“操作细节”分离
- consolidate conditional expression:代码中多处测试有相同结果
- consolidate duplicate conditional fragment:去掉条件代码中的重复成分
- 为了让条件表达式也遵循“单一出口原则”,往往向其中加入控制标记。
- 不特别在意“一个函数一个出口的教条,使用replace nested conditional with cuard clauses标示出那些特殊情况,使用remove control flag去除那些讨厌的限制
- 面向对象程序的条件表达式通常比较少(较之过程化程序而言):很多条件行为都被多态机制处理掉了。
- 多态的好处:调用者无需了解条件行为的细节=》条件的扩展更容易
- replace conditional with polymorphism:将switch语句替换为多态
- introduce null object:去除对于null值的校验。多态的一种十分有用且鲜为人知的用途