- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 《重构:改善既有代码的设计》 简化条件表达式 之 7 引入null对象 introduce null object
《重构:改善既有代码的设计》中提到过很多重构方法,关于简化条件表达式的方法有8种。本文介绍:引入null对象 introduce null object名称:引入null对象 introduce null object 概要:检查某对象是否为null, 将null值替换为null对象 动机: 更好的使用多态,而不必关心这是什么类型做法: 为源类建立一个子类,使其行为就像时源类...
2019-05-02 22:55:06 454
原创 《重构:改善既有代码的设计》 简化条件表达式 之 6 以多态取代条件表达式 replace conditional with polymorphism
《重构:改善既有代码的设计》中提到过很多重构方法,关于简化条件表达式的方法有8种。本文介绍:以多态取代条件表达式 replace conditional with polymorphism名称:以多态取代条件表达式 replace conditional with polymorphism 概要:有个条件表达式,它根据对象类型的不同而选择不同的行为。将这个条件表达式的每个分支放进一个子类内...
2019-05-02 19:11:23 490
原创 《重构:改善既有代码的设计》 简化条件表达式 之 5 以卫语句取代嵌套条件表达式 replace nested conditional with guard clauses
《重构:改善既有代码的设计》中提到过很多重构方法,关于简化条件表达式的方法有8种。本文介绍:以卫语句取代嵌套条件表达式 replace nested conditional with guard clauses名称:以卫语句取代嵌套条件表达式 replace nested conditional with guard clauses 概要:函数中的条件逻辑使人难以看清正常的执行路径,使用卫...
2019-05-02 19:10:55 390
原创 《重构:改善既有代码的设计》 简化条件表达式 之 4 移除控制标记 remove control flag
《重构:改善既有代码的设计》中提到过很多重构方法,关于简化条件表达式的方法有8种。本文介绍:移除控制标记 remove control flag名称:移除控制标记 remove control flag 概要:在一系列布尔表达式中,某个变量带有“控制标记”(control flag)的作用。以break语句或return语句取代控制标记 动机: 控制标记大大降低条件表达式的可读性做...
2019-05-02 19:10:26 564
原创 《重构:改善既有代码的设计》 简化条件表达式 之 3 合并重复的条件片段 consolidate duplicate conditional fragments
《重构:改善既有代码的设计》中提到过很多重构方法,关于简化条件表达式的方法有8种。本文介绍:合并重复的条件片段 consolidate duplicate conditional fragments名称:合并重复的条件片段 consolidate duplicate conditional fragments 概要:在条件表达式的每个分支上有着相同的一段代码,将这段重复代码搬移到条件表达式...
2019-05-02 19:09:50 1666
原创 《重构:改善既有代码的设计》 简化条件表达式 之 2 合并条件表达式 consolidate conditional expression
《重构:改善既有代码的设计》中提到过很多重构方法,关于简化条件表达式的方法有8种。本文介绍:合并条件表达式 consolidate conditional expression名称:合并条件表达式 consolidate conditional expression 概要:一系列条件测试,都得到相同结果。将这些测试合并为一个条件表达式,并将这个条件表达式提炼成为一个独立函数 动机: 一串...
2019-05-01 23:12:20 296
原创 《重构:改善既有代码的设计》 简化条件表达式 之 1 分解条件表达式 decompose conditional
《重构:改善既有代码的设计》中提到过很多重构方法,关于简化条件表达式的方法有8种。本文介绍:分解条件表达式 decompose conditional名称:分解条件表达式 decompose conditional 概要:有一个复杂的条件(if-then-else)语句,从if, then,else三个段落中分别提炼出独立函数 动机: 大型函数自身会使代码的可读性下降做法: 将if段...
2019-05-01 23:11:54 255
原创 《重构:改善既有代码的设计》 重新组织数据 之 16
《重构:改善既有代码的设计》中提到过很多重构方法,关于重新组织数据的方法有16种。本文介绍:以字段取代子类 replace subclass with fields名称:以字段取代子类 replace subclass with fields 概要:各个子类的唯一区别只在“返回常量数据”的函数身上。修改这些函数,使它们返回超类中的某个(新增)字段,然后销毁子类 动机:子类中只有常量函数,...
2019-05-01 23:10:53 232
原创 《重构:改善既有代码的设计》 重新组织数据 之 15
《重构:改善既有代码的设计》中提到过很多重构方法,关于重新组织数据的方法有16种。本文介绍:以state/strategy取代类型码 replace type code with state/strategy名称:以state/strategy取代类型码 replace type code with state/strategy 概要:有一个类型码,会影响类的行为,但你无法通过继承手法消除...
2019-05-01 23:10:29 284
原创 《重构:改善既有代码的设计》 重新组织数据 之 14
《重构:改善既有代码的设计》中提到过很多重构方法,关于重新组织数据的方法有16种。本文介绍:以子类取代类型码 replace type code with subclasses名称:以子类取代类型码 replace type code with subclasses 概要:有一个不可变的类型码,它会影响类的行为。以子类取代这个类型码 动机:如果类型码不会影响宿主类的行为,可以使用repl...
2019-05-01 23:10:07 251
原创 《重构:改善既有代码的设计》 重新组织数据 之 13
《重构:改善既有代码的设计》中提到过很多重构方法,关于重新组织数据的方法有16种。本文介绍:以类取代类型码 replace type code with class名称:以类取代类型码 replace type code with class 概要:类中有一个数值类型码,但它并不影响类的行为,以一个新的类替换改数值类型码 动机:类型码作为函数参数,编译器无法进行类型检验。做法: ...
2019-05-01 23:09:34 184
RS_Code是纠删码的一种, rs code的使用库
2019-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人