有一系列条件测试,都得到相同结果

private double disabilityAmount() {if (seniority < 2) return 0;if (monthsDisabled > 2) return 0;if (isPartTime) return 0;// ...
}

重构:将这些条件测试合并为一个条件表达式,并提炼为一个独立函数

private double disabilityAmount() {if (isNotEligibleForDisability()) return 0;// ...
}private boolean isNotEligibleForDisability() {return (seniority < 2) || (monthsDisabled > 2) || isPartTime;
}

Consolidate Conditional Expression(合并条件表达式)相关推荐

  1. Decompose Conditional(分解条件表达式)

    有一个复杂的 if-else 语句 if (date.before(SUMMER_START) || date.after(SUMMER_END)) {charge = quantity * wint ...

  2. 重构-改善既有代码的设计:简化条件表达式(七)

    简化条件表达式 1.Decompose Conditional 分解条件表达式 你有一个复杂的条件语句.从if.then.else三个段落中分别提炼出独立函数. 程序之中,复杂的条件逻辑是最常导致复杂 ...

  3. 代码重构(四):条件表达式重构规则

    继续更新有关重构的博客,前三篇是关于类.函数和数据的重构的博客,内容还算比较 充实吧.今天继续更新,本篇博客的主题是关于条件表达式的重构规则.有时候在实现比较复杂的业务逻辑时,各种条件各种嵌套.如果处 ...

  4. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)

    系列博客 1. 改善代码设计 -- 优化函数的构成(Composing Methods) 2. 改善代码设计 -- 优化物件之间的特性(Moving Features Between Objects) ...

  5. python篇 条件表达式

    1.条件表达式含义 所谓条件表达式即是把if else语句弄成一个表达式来使用,此用法按小甲鱼的说法,江湖中人使用较少,但一但露面,就格外有逼格,故不可不学. 2.条件表达式用法 条件成立时执行的语句 ...

  6. 如何以卫语句取代嵌套条件表达式

    本文分享自华为云社区<以卫语句取代嵌套条件表达式 (Replace Nested Conditional with Guard Clauses)>,作者:JavaEdge. 动机 条件表达 ...

  7. shell中的条件表达式

    条件表达式返回的结果都为布尔型 真为1,假为0 条件测试的表达式 [expression] [[expression]] test expression 这三种条件表达式的效果是一样的 比较符 整数比 ...

  8. 重构——39以多态取代条件表达式(Replace Conditional with Polymorphism)

    以多态取代条件表达式(Replace Conditional with Polymorphism) 你手上有个条件表达式,它根据对象类型的不同而选择不同的行为:将这个条件表达式的每个分支放进一个子类内 ...

  9. 重构——34分解条件表达式(Decompose Conditional)

    分解条件表达式(Decompose Conditional) 你有一个复杂的条件语句:从if,then,else三个段落中分别提炼出独立函数 一.动机 1.提高代码可读性 2.突出条件逻辑,更清楚的表 ...

最新文章

  1. mysql update 并发 慢_MySQL跑在CentOS 6 和 7上的性能比较
  2. Google是如何做Code Review的?| CSDN原力计划
  3. Android图形---OpenGL(二)
  4. MySQL 中的共享表空间与独立表空间如何选择
  5. C# 平时碰见的问题【1】
  6. 6-3 两个有序链表序列的合并
  7. HDU 1175 连连看
  8. 洛谷 P1352 没有上司的舞会
  9. Python 操作 Kafka --- kafka-python
  10. python采用的编码是什么意思_深入浅出地,彻彻底底地理解Python中的编码
  11. 性能测试工具 wrk 安装与使用
  12. 全平台adb工具安装方法
  13. html css开关按钮样式,纯CSS实现开关按钮
  14. 气死电信 有时用联创宽带上网助手你登不上就改一下MAC地址挺灵 Windows xp 下修改mac地址
  15. 流媒体协议RTP、RTCP、H264详解
  16. html 漂亮的边框效果图,Css效果之好看的边框颜色大全
  17. vim复制粘贴的命令
  18. 计算机毕业设计Java联想搜索爬虫设计
  19. java相关面试总结
  20. CXF之七 传输文件

热门文章

  1. 论文浅尝 | 基于模式的时间表达式识别
  2. 机器学习常用的算法整理:线性回归、逻辑回归、贝叶斯分类、支持向量机、K-means聚类、决策树、随机森林以及常用的应用场景整理
  3. Android官方开发文档Training系列课程中文版:多样屏幕之支持不同的屏幕密度
  4. 新闻文本内容知识图谱表示项目
  5. 论文学习2-Incorporating Graph Attention Mechanism into Knowledge Graph Reasoning Based on Deep Reinforce
  6. SSM:Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束的解决
  7. Gradle 下载不了
  8. ParserError: Error tokenizing data. C error: Expected 1 fields in line 122, saw 2
  9. textarea标签内的文字无缘故居中解决原因
  10. select,epoll的比较