0%

摘要:条件逻辑可能十分复杂

  • 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值的校验。多态的一种十分有用且鲜为人知的用途
阅读全文 »