随笔分类 -  重构

摘要:一、改善代码的三部曲 《设计模式》-> 《重构》-> 《重构与模式》。也就是设计->重构->重构出新设计。 《设计模式》主要详细说明20几种模式,为我们带来了常见设计问题的经典解决方案,从而改变了整个面向对象开发的面貌。为设计而著。 《重构》改善既有代码的设计,总结了我们会用到的各种重构手法,为我... 阅读全文
posted @ 2012-06-13 10:54 夏至冬末 阅读(183) 评论(0) 推荐(0) 编辑
摘要:《重构》为我们带来了一种改进代码的高效过程,从而彻底改变了面向对象设计的方式: 1)改进软件设计(整理代码) 2)提高代码质量和可读性,使软件系统更易理解和维护 3)帮助尽早的发现错误 4)提高编程速度 改善设计、提高可读性、减少缺陷都是为了稳住阵脚。良好的设计是成功的一半,停下来通过... 阅读全文
posted @ 2012-06-06 15:54 夏至冬末 阅读(169) 评论(0) 推荐(0) 编辑
摘要:大型重构1. Tease apart Inheritance 梳理并分解继承体系某个继承体系同时承担两项责任 ,建立两个继承体系,并通过委托关系让其中一个可以调用另一个 .2.Convert Procedural design to Objects 将过程化设计转化为对象设计你手上有一些传统过程佛冈... 阅读全文
posted @ 2012-06-06 15:13 夏至冬末 阅读(152) 评论(0) 推荐(0) 编辑
摘要:简化函数调用1.Pull Up Field 字段上移两个子类拥有相同的字段。将该字段移至超类。如果各子类是分别开发的,或者是在重构过程中组合起来的,你常会发现它们拥有重复特性,特别是字段更容易重复。这样的字段有时拥有相似的名字,但也并非绝对如此。判断若干字段是否重复,唯一的办法就是观察函数如何使用它... 阅读全文
posted @ 2012-06-05 19:20 夏至冬末 阅读(219) 评论(0) 推荐(0) 编辑
摘要:简化函数调用1.Rename Method 函数改名函数的名称未能揭示函数的用途。修改函数名称。大力提倡的一种编程风格是:将复杂的处理分解成小函数。但是,如果做得不好,这会使你费尽周折却弄不清楚这些小函数各自的用途。要避免这种麻烦,关键就在于给函数起一个好名称。函数的名称应该准确表达它的用途。给函数... 阅读全文
posted @ 2012-06-04 19:49 夏至冬末 阅读(214) 评论(0) 推荐(0) 编辑
摘要:简化条件表达式1.Decompose Conditional 分解条件表达式你有一个复杂的条件语句。从if、then、else三个段落中分别提炼出独立函数。程序之中,复杂的条件逻辑是最常导致复杂度上升的地点之一。你必须编写代码来检查不同的条件分支、根据不同的分支做不同的事,然后,你很快就会得到一个相... 阅读全文
posted @ 2012-05-29 20:11 夏至冬末 阅读(207) 评论(0) 推荐(0) 编辑
摘要:重新组织数据:1.Self Encapsulate Field 自封装字段间接访问类的属性:你直接访问一个字段,但与字段之间的耦合关系逐渐变得笨拙。为这个字段建立取值/设值函数,并且只以这些函数来访问字段。 间接访问变量的好处是,子类可以通过覆写一个函数而改变获取数据的途径;它还支持更灵活的数据... 阅读全文
posted @ 2012-05-29 16:16 夏至冬末 阅读(415) 评论(0) 推荐(0) 编辑
摘要:在面向对象编程过程中,明确该对象的职责。类应该是:做自己该做的事,应尽该尽的义务,1.Move Method 移动函数类的行为做到单一职责不要越俎代庖:你的程序中,有个函数与其所驻类之外的另一个类进行更多的交流:调用后者,或被后者调用。在该函数最常用引用的类中建立一个有着类似行为的新函数。将旧... 阅读全文
posted @ 2012-05-25 15:54 夏至冬末 阅读(150) 评论(0) 推荐(0) 编辑
摘要:函数过长或者逻辑太混乱,重新组织和整理函数的代码,使之更合理进行封装。1.Extract Method 提炼函数提炼函数:(由复杂的函数提炼出独立的函数或者说大函数分解成由小函数组成)你有一段代码可以被组织在一起并独立出来。将这段代码放进一个独立函数,并让函数名称解释该函数的用途。void ... 阅读全文
posted @ 2012-05-24 17:18 夏至冬末 阅读(178) 评论(0) 推荐(0) 编辑
摘要:1 Duplicated Code重复代码 不同的地方出现相同的程序结构: 如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们和而为一,程序会变得更好。最常见的“重复代码”就是一个类内的两个函数含有相同的表达式。另一种常见情况就是两个互为兄弟的子类内含有相同的表达式。 1... 阅读全文
posted @ 2012-05-24 11:01 夏至冬末 阅读(154) 评论(0) 推荐(0) 编辑
摘要:1.什么是重构重构(Refactoring):在不改变软件的功能和外部可见性的情况下,为了改善软件的结构,提高清晰性、可扩展性和可重用性而对软件进行的改造,对代码内部的结构进行优化。2.为何重构 1)改进软件设计(整理代码)重构和设计是相辅相成的,它和设计彼此互补。有了重构,你仍然必须做预先的设计,... 阅读全文
posted @ 2012-05-22 15:42 夏至冬末 阅读(174) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示