4、简化条件表达式

本文探讨了如何通过重构来简化条件表达式,包括分解条件表达式、合并条件表达式、移除控制标记等方法。通过将if-else结构转换为函数、消除重复代码、使用卫语句和多态,可以提高代码的可读性和可维护性。同时介绍了引入Null对象和断言以增强代码的健壮性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


    1、Decompose Conditional(分解条件表达式)
      将if表达式抽离成函数,然后将if、else中的代码段提炼为各自独立的函数。
    2、Consolidate Conditional Expression(合并条件表达式)
      如果一系列条件测试都得到相同结果,那么将这些测试合并为一个条件表达式,并将这个条件表达式提炼为一个独立函数。
      例如:

    3、Consolidate Duplicate Conditional Fragments(合并重复的条件片段)
      在条件表达式的每个分支上有着相同的一段代码。将这段重复代码搬移到条件表达式外。
    4、Remove Control Flag(移除控制标记)
      在一系列布尔表达式中,某个变量带有“控制标记”的作用,则以break语句或者return语句取代控制标记。
    5、Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套表达式)
      函数中的条件逻辑使人难以看清正常的执行路径,使用卫语句表现所有特殊情况。
      例子:

      卫语句:如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回。这样的单独检查常常被成为“卫语句”
    6、Replace Conditional With Polymorphism(以多态取代条件表达式)
      你手上有个条件表达式,他根据对象类型的不同而选择不同的行为。将这个条件表达式的每个分支放进一个子类内的覆写函数中,然后将原始函数声明为抽象函数。
      做法:

    7、Introduce Null Object (引入Null对象)
    8、Introduce Assertion(引入断言)
    9、总纲
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值