
重构
huangzuduan
喜欢学各种编程语言
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
重新组织函数
一、提炼函数 二、内联函数 三、内联临时变量 四、以查询取代临时变量 五、引入解释性变量 六、分解临时变量 七、移除对参数的赋值 八、以函数对象取代函数 九、替换算法...原创 2012-02-04 00:30:43 · 98 阅读 · 0 评论 -
在对象之间搬移特性
一、搬移函数 二、搬移字段 三、提炼类 四、将类内联化 五、隐藏“委托关系” 六、移除中间人 七、引入外加函数 八、引入本场扩展原创 2012-02-04 23:43:56 · 89 阅读 · 0 评论 -
重新组织数据
一、自封装字段 二、以对象取代数据值 三、将值对象改为引用对象 四、将引用对象改为值对象 五、以对象取代数组 六、复制“被监视数据” 七、将单向关联改为双向关联 八、将双向关联改为单向关联 九、以字面常量取代魔法数 十、封装字段 十一、封装集合 十二、以数据类取代记录 十三、以类取代类型码 十四、以子类取代类型码 十五、以State/Strategy类型码 十六、以字...原创 2012-02-05 00:27:04 · 91 阅读 · 0 评论 -
简化条件表达式
一、分解表达式 二、合并条件表达式 三、合并重复的条件片段 四、移除控制标记if(boolean) 以break/return取代 五、以卫语句取代嵌套条件表达式 六、以多态取代条件表达式 七、引入Null对象 八、引入断言Assert.isTrue();...原创 2012-02-05 01:07:20 · 120 阅读 · 0 评论 -
简化函数调用
一、函数改名 二、添加参数 三、移除参数 四、将查询函数和修改函数分离 五、令函数携带参数 六、以明确函数取代参数 七、保持对象完整 八、以函数取代参数 九、引入参数对象 十、移除设值函数 十一、隐藏函数 十二、以工厂函数取代构造函数 十三、封装向下转型 十四、以异常取代错误码 十五、以测试取代异常 ...原创 2012-02-06 23:48:12 · 108 阅读 · 0 评论 -
处理概括关系(即继承关系)
一、字段上移 二、函数上移 三、构造函数本体上移 四、函数下移 五、字段下移 六、提炼子类 七、提炼超类 八、提炼接口 九、折叠继承体系 十、塑造模板函数 十一、以委托取代继承 十二、以继承取代委托...原创 2012-02-07 23:52:33 · 108 阅读 · 0 评论 -
大型重构
一、梳理并分解继承体系 例:某个继承体系同时承担两项责任 解:建立两个继承体系,并通过委托关系让其中一个可以调用另一个 二、将过程化设计转化为对象设计 如:你手上有一些传统过程佛冈可选择代码 解:将数据记录变成对象,将大块的行为分成小块,并将行为移入相关对象之中 三、将领域和表述/显示分离 如:某些GUI类之中饮食了领域逻辑 解:将领域逻辑分离出来,为它们建立独立的领域类 四、提...原创 2012-02-08 00:11:44 · 126 阅读 · 0 评论