【重构笔记】重构手法之简化方法调用
2014-04-16 16:43
239 查看
1 Rename Method(方法改名)
2 Add Parameter(添加参数)和Remove Parameter(移除参数)
3 Separate Query from Modifier:分开修改方法(修改对象状态的方法)和查询方法(查询对象状态的方法)
4 Parameterize Method(令函数携带参数/提取参数):有2个或多个函数做了类似的工作,但是在函数本题中包含了不同的值,那么建立单一函数,以参数表达那些不同的值。
5 Replace Parameter with Explicit Methods(以明确函数取代参数):你有一个函数,其中完全取决于参数值而采取不同行为,那么针对该参数的每一个可能值,建立一个独立函数
6 传递多个参数的时候可以换成传递参数对象或者新建一个对象
参数对象:Preserve Whole Object(保持对象完整)
新的对象:Introduce Parameter Object(传入参数对象)——这些参数必须是有关联的,经常放在一起的
7 Remove Setting Method(移除设置函数):某字段只在初始化的时候设值,之后就不会改变,那么去掉该字段的设值函数。
8 Hide Method(隐藏函数):有一个函数,从来没有被其他任何类用到,将这个函数改为private
9 Replace Constructor with Factory Method(以共产函数取代构造函数)
10 Encapsulate Downcast(封装向下转型):让函数返回确切的类型,不要让客户端转型
11 Replace Error Code with Exception(以异常取代错误码)和Replace Exception with Test(以测试取代异常):
“异常”只应该被用于异常的,罕见的行为,而不应该成为条件检查的替代品,如果你可以合理期望调用者在调用函数之前先检查某个条件,那么就应该给调用者提供一个测试。
001
002
003
004
005
006
007
---------------------------------------------------------------------------------------------------------------
现在发送在CSDN上的文章都能在手机端查看啦,走路上班、闲暇之余可以看看手机,共勉共进!
2 Add Parameter(添加参数)和Remove Parameter(移除参数)
3 Separate Query from Modifier:分开修改方法(修改对象状态的方法)和查询方法(查询对象状态的方法)
4 Parameterize Method(令函数携带参数/提取参数):有2个或多个函数做了类似的工作,但是在函数本题中包含了不同的值,那么建立单一函数,以参数表达那些不同的值。
5 Replace Parameter with Explicit Methods(以明确函数取代参数):你有一个函数,其中完全取决于参数值而采取不同行为,那么针对该参数的每一个可能值,建立一个独立函数
6 传递多个参数的时候可以换成传递参数对象或者新建一个对象
参数对象:Preserve Whole Object(保持对象完整)
新的对象:Introduce Parameter Object(传入参数对象)——这些参数必须是有关联的,经常放在一起的
7 Remove Setting Method(移除设置函数):某字段只在初始化的时候设值,之后就不会改变,那么去掉该字段的设值函数。
8 Hide Method(隐藏函数):有一个函数,从来没有被其他任何类用到,将这个函数改为private
9 Replace Constructor with Factory Method(以共产函数取代构造函数)
10 Encapsulate Downcast(封装向下转型):让函数返回确切的类型,不要让客户端转型
11 Replace Error Code with Exception(以异常取代错误码)和Replace Exception with Test(以测试取代异常):
“异常”只应该被用于异常的,罕见的行为,而不应该成为条件检查的替代品,如果你可以合理期望调用者在调用函数之前先检查某个条件,那么就应该给调用者提供一个测试。
001
002
003
004
005
006
007
---------------------------------------------------------------------------------------------------------------
现在发送在CSDN上的文章都能在手机端查看啦,走路上班、闲暇之余可以看看手机,共勉共进!
相关文章推荐
- 【重构笔记】重构手法之重新组织方法
- 【重构笔记】重构手法之简化条件表达式
- java反射学习笔记(3)----使用反射来调用方法
- 修改方法签名的重构手法
- 学习笔记:静态网站调用头部和尾部的3个方法
- struts2笔记09-动态方法调用
- jQuery学习笔记--jQuery的ajax方法调用实例
- 31天重构学习笔记13. 提取方法对象
- Boost asio学习笔记之一—— 使用strand支持多线程调用service_io的方法
- 【Struts2学习笔记(6)】Action动态方法调用
- 6个处理上面代码异味的重构方法(手法)
- 学习笔记:JAVA RMI远程方法调用简单实例
- python cookbook第三版学习笔记十一:类和对象(二)调用父类的方法
- (原创)c#学习笔记10--定义类成员02--类成员的其他议题02--调用重写或隐藏的基类方法
- Android(java)学习笔记228:服务(service)之绑定服务调用服务里面的方法
- 31天重构学习笔记28. 为布尔方法命名
- 31 天重构学习笔记22. 分解方法
- Androidx学习笔记(65)--- 通过绑定服务调用服务里的方法
- 重构手法之简化条件表达式【1】
- 【重构笔记】重构手法之对象间搬移特性