美文网首页
重构-简化条件表达式

重构-简化条件表达式

作者: SecondRocker | 来源:发表于2020-07-12 18:24 被阅读0次
  • 分解条件语句
    复杂的条件判断抽取为方法
  • 重组条件语句
    可使用 ||= ,显式返回等替换条件语句
if !a
   a =  'xxxx'
end
#修改为
a ||= 'xxxx'
  • 合并条件表达式
  if a
    if b
      return 1
    end
  end
  #合并为
  return 1 if a && b
  • 合并重复的条件片段
    所有分支都存在的代码,应移出分支
  • 移除控制位
    有专门变量控制循环的,应修改为break 或者 return
  • 使用守卫字句替换嵌套条件语句
    及早返回,不能处理的尝试逆转条件语句
    def adjusted_capital
     result = 0
     if @capital > 0.0
       if @interest_rate > 0.0 && @duration > 0.0
         result = (@income/@duration) * ADJ_FACTOR
       end
     end
     result
    end
    
    #重构
    def adjusted_capital
     return 0.0 if @capital <= 0.0
     return 0.0 if @interest_rate <= 0.0 || @duration <= 0.0
     (@income/@duration) * ADJ_FACTOR
    end
    
  • 使用多态替换条件语句
    将case 的多个判断代码改成多个实现相同方法名的类,条件判断即可改为多态调用。
  • 引入空对象
    如果某个对象重复出现判断为空的情况,进行特殊处理;那么可以定义一个空对象类,在对象初始化时如果符合则初始化空对象,空对象实现自己的一套方法。
  • 引入断言
    https://www.jianshu.com/p/2d3aaf38cdee

相关文章

  • 简化条件表达式

    0. 本章内容导图 本章提供的重构手法专门用来简化复杂的条件逻辑。 1. 重构手法 1.1 分解条件表达式 概要:...

  • 《重构》- 简化条件表达式

    一. Decompose Conditional(分解条件表达式) 介绍 场景你有一个复杂的条件(if-then-...

  • 重构——简化条件表达式

    1 Decompose Conditional(分解条件表达式) 从复杂表达式if-then-else三个段落中分...

  • 重构-简化条件表达式

    分解条件语句复杂的条件判断抽取为方法 重组条件语句可使用 ||= ,显式返回等替换条件语句 合并条件表达式 合并重...

  • 代码重构专题(转载)

    代码重构(一):函数重构规则代码重构(二):类重构规则代码重构(三):数据重构规则代码重构(四):条件表达式重构规...

  • 第九章 简化条件表达式

    简化条件表达式 9.1 Decompose Conditional (分解条件表达式) 你有一个复杂的条件表达式语...

  • 《重构》学习笔记(07)-- 简化条件表达式

    条件逻辑有可能十分复杂,复杂的条件逻辑可能让复杂度快速上升,并有可能导致代码难以理解。因此,需要一些手段,来简化它...

  • 004-简化条件表达式

    简化条件表达式 1. Decompose Conditional(分解条件表达式) Q:你有一个复杂的条件语句。 ...

  • 简化条件表达式

    我们在编写代码的过程中,有时会因为复杂的业务,导致我们编写的代码圈复杂度过大,if...then...else 过...

  • 重构(八)重构名录-简化条件逻辑

    分解条件表达式Decompose Conditional Expression 动机:复杂的条件逻辑导致复杂度的上...

网友评论

      本文标题:重构-简化条件表达式

      本文链接:https://www.haomeiwen.com/subject/zepvactx.html