自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 重构 改善既有代码的设计——在对象之间搬移特性

在面向对象的设计过程中,“决定把责任放到哪”即使不是最重要的事情,也是最重要的事之一。 一.Move Method(搬移函数) 你的程序中,有个函数与其所驻类之外的另一个类有更多的交流:调用后者或被后者调用。 1.动机 A.如果一个类与另一个类有太多合作而高度耦合,就要搬移函数。通过这种方式,可使得类的职责更明确。 2.做法 A.检查源类中被源函数使用的一切特性(包括字段和参数),考虑

2016-09-14 15:32:17 671 1

原创 重构 改善既有代码的设计—— 重新组织方法

一.Extract Method(提炼方法) 1.动机:如果函数过长或代码段需要注释才能理解,就将这段代码放到独立函数中;有几个原因造成我喜欢简短而命名良好的的方法: A.函数粒度小,复用几率高 B.函数粒度小,复写容易 C.函数粒度小,使高层函数读起来向一系列注释    常常有人在问,一个方法长度多长才算合适。在我看来,方法多长不是问题,关键是方法名和方法体之间的语义距离。如果提炼可以

2016-09-13 16:41:50 1423

原创 重构 改善既有代码的设计——重构列表

一.重构的记录格式 每个重构手法可分为5个部分:  1.名称,构建重构词汇列表,名称当然是很关键的了,要充分的表达出重构的核心关键;  2.概要:介绍重构手法的功能,以及应用场景;便于我们查找重构手法;包括三个部分: A.一句话介绍重构能解决的问题 B.一段简短陈述,介绍你应该做的事 C.一副速写图,简单展现重构前后示例,可以是一段代码或UML图(以一种最能体现重构本质的方式)  3

2016-09-13 10:28:25 1196

原创 重构 改善既有代码的设计——代码的坏味道

了解并熟练重构的机制,并不代表我们知道何时应该重构;前者可以从书中学习到,但是何时应该重构就是一个实践问题,需要我们 培养自己的判断力,知道何时何处如何重构; 1.Duplicated Code(重复代码) A.同一个类中不同方法包含相同的表达式:把相同的表达式提炼成一个方法,在包含表达式的地方直接调用该方法; B.互为兄弟的类包含相同的表达式:把相同的表达式提炼成一个方法,并放到基类中;

2016-09-09 10:55:23 2083

原创 重构 改善既有代码的设计——重构原则

1.何谓重构? 答: A.重构(名词意义):对软件内部结构的调整,目的是在不改变软件可观察行为的前提下,提高其理解性,降低其修改成本; B.重构(动词意义):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构; 总结:为了更容易理解和修改软件,在不改变软件功能的前提下,调整软件结构; 重构的两种思维:在软件开发的过程中,编码和重构经常会交叉,因为二者是两种不同思维方式

2016-09-08 11:52:19 6953

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除