![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
重构-改善既有代码的设计
学习和总结。
Java-Talk
这个作者很懒,什么都没留下…
展开
-
06. 重构-简化条件表达式
一 Decompose Conditional (分解条件表达式) 如果有一个复杂的条件(if-then-else)语句。从 if、then、else 三个段落中分别提炼出独立函数。二 Consolidate Conditional Expression (合并条件表达式) 如果有一系列条件测试,都得到相同的结果。将这些条件测试合并为一个条件表达式,并将这个条件表达式提炼成为一个独立函数。三 Consolidate Duplicate Conditional Frag...翻译 2021-01-13 20:56:00 · 384 阅读 · 0 评论 -
05. 重构-重新组织数据
一 self Encapsulate Field (自封装字段) 直接访问一个字段,与该字段之间的耦合关系将会逐渐变得笨拙。为该字段建立取值、设值函数,并且只以这些函数来访问字段。二 Replace Data Value with Object (以对象取代数据值) 有一个数据项,需要与其他数据和行为一起使用才有意义。将数据变成对象。三 Change Value to Reference (将值对象改为引用对象) 从一个类衍生出许多彼此相等的实例,希望...翻译 2020-06-27 15:37:09 · 399 阅读 · 0 评论 -
04. 重构-在对象之间搬移特性
一 Move Method (搬移函数) 如果一个类有太多的行为,或者说如果一个类与另外一个类有太多合作而形成高度耦合,这个时候就应该搬移函数。通过搬移函数,可以使得系统中的类更加简单,最终也将更干净利落实现系统交付的任务。二 Move Field (搬移字段) 在程序中,如果某个字段被其所驻类之外的另一个类更多地用到。这个时候需要在目标类新建一个字段,修改源字段的所有用户,令它们改用新字段。三 Extract Class (提炼类) 如果某个类做了应...翻译 2020-06-27 13:48:03 · 402 阅读 · 0 评论 -
03. 重构-重新组织函数
一 Extract Method (提炼函数) 当看见一个过长的函数或者一段需要注释才能让人理解用途的代码,需要将这段代码放进一个独立函数中。提炼函数有如下好处: 1 首先,如果每个函数的粒度都很小,name函数被复用的机会就很大; 2 其次,这样做会使得高层函数读起来就像一系列注释; 3 最后,如果函数都是细粒度,那么函数的覆写也会更容易一些。二 Inline Method (内联函数) 如果函数的内容和起函数名称同样清晰...翻译 2020-06-25 23:45:08 · 843 阅读 · 0 评论 -
02. 重构-代码的坏味道
目录1.Duplicated Code(重复的代码)2.Long Method(过长方法)3.Large Class(过大的类)4.Long Parameter List(过长參数列)5.Divergent Change(发散式变化)6.Shotgun Surgery(霰弹式修改)7.Feature Envy(依恋情结)8.Data Clumps(数据泥团)9.Primitive Obsession(基本类型偏执)10.Switch Statements(switch翻译 2020-05-12 09:23:47 · 579 阅读 · 0 评论 -
01. 重构-重构原则
一 重构定义 视上下文的不同,“重构”这个词有两种不同的定义: 1.1重构当做名词 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可用性,降低其修改成本。 1.2重构当做动词 使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。二 为何重构 重构是一个工具,它可以用于以下几个目的...翻译 2020-05-08 21:24:56 · 831 阅读 · 0 评论