我们一起来读书吧 关注:157贴子:3,030
  • 0回复贴,共1

《重构 改善既有代码的设计》第十章 简化条件逻辑

只看楼主收藏回复

程序的复杂度也大多来自条件逻辑。
1、分解条件表达式:这个技巧涉及将复杂的条件逻辑(if-else 语句)分解成更简单的、单独的函数。对条件判断和每个条件分支分别运用提炼函数
2、合并条件表达式:当有多个条件表达式都导致相同的结果或动作时,使用“逻辑或”和“逻辑与”将它们合并为一个条件表达式。这减少了重复代码,并提高代码的可维护性。
3、以卫语句取代嵌套条件表达式:说白了,就是不要在多个if-else中维护一个返回变量,而是在满足条件的时候直接返回。从而减少代码嵌套。
4、以多态取代条件表达式:一组类型如果每个类型处理各自的一种条件逻辑,我们可以针对switch语句中的每种分支逻辑创建一个类,用多态来承载各个类型特有的行为,从而去除重复的分支逻辑。作业举了鸟和远洋航船的例子,来方便我们理解这一方式。
5、引入特例:在获取某个变量的时候,需要判断nil,这时候可以封装函数,对nil特例做处理,和pb.go提供的get方法的思想是一致的
6、引入断言:只有当某个条件为真时,该段代码才能正常运行,使用断言明确标明这些假设


IP属地:北京1楼2024-08-02 15:37回复