
重构
大道至简@EveryDay
生活不止眼前的苟且,还有诗和远方的田野
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
重构系列-函数
1 短小精悍代码块和缩进if,else,while语句等其中代码块应该只用一行,改行大抵是一个函数调用的语句2 只做一件事要判断函数是否不只做一件事,判断的方法是是否能再拆出一个函数。3 每个函数一个抽象层级函数中的语句都要在同一抽象层级。读程序的时候就像一系列TO起头的段落,每一段都描述当前抽象层级,并引用下一抽象层级后续TO起头段落。4 switch语句上图的问题:太长,出现新的的雇员类型,会变得更长。明显做了不止一件事违反单一职责原则,因为有好几个修改他的理由违反开闭原原创 2021-09-11 10:39:38 · 153 阅读 · 0 评论 -
重构系列-有意义的命名
1,名副其实。如果名称需要用注释来补充,就不算是名副其实2,避免误导。避免留下隐藏代码本意的错误线索。比如hp,unix,sco等不该做变量名3,做有意义的区分。反例如下getActiveAccount();getActiveAccounts();getActiveAccountInfo();4,使用读的出来的名称。5,使用可搜索名称。 单字母名称或者数字常量很难从一大篇文字找出来。6,避免使用编码。7,类名和对象名应该是名词或者名词短语。8,方法名应当是动词或者动词短语。9,不要原创 2021-09-11 09:57:21 · 149 阅读 · 0 评论 -
重构系列-整洁代码是什么样的
1,简单代码规则能通过所有的测试没有重复代码体现系统中的全部设计理念包括尽量少的实体,比如类,方法,函数等2,消除重复和提高表达力原创 2021-09-10 17:44:45 · 91 阅读 · 0 评论 -
重构改善既有代码的设计《八》重新组织数据
1,Self Encapsulate Field(自封装字段)你直接访问一个字段,但是与字段之间的耦合关系逐渐变得笨拙为这个字段建立取值/设值函数,并且以这些函数来访问字段private int _low,_high; boolean includes(int arg){ return arg>=_low && arg<=_high;...原创 2020-02-02 15:38:41 · 270 阅读 · 0 评论 -
重构改善既有代码的设计《七》在对象之间搬移特性
7.1Move Method (搬移函数)你的程序中,有个函数与其所驻类之外的另一个类有过多的交流,调用后者,或者被后者调用在该函数最常引用的类中建立一个有类似行为的新函数,将旧函数单纯的变为一个委托函数或者将旧函数完全删除1,动机重构理论的支柱:搬移函数如果一个类有太多行为,或者一个类和另外一个类因为太多合作而形成高度耦合的关系,就应该搬移函数,通过这种手段可以使系统的类更加简单2...原创 2020-01-19 11:48:00 · 199 阅读 · 0 评论 -
重构改善既有代码的设计《六》重新组织函数
6.1Extract Method(提炼函数)1,你有一段代码可以被组织在一起并独立出来将则这段代码房间一个独立函数中,并让函数名称解释该函数的用途 void printData(double amount){ printBanner(); //print detail System.out.println("name:"+_name); ...原创 2020-01-15 15:13:14 · 177 阅读 · 0 评论 -
重构改善既有代码的设计《五》重构列表
5.1重构的记录格式重构手法的五部分1,名称,建造一个重构词汇表2,简短的概要,简单介绍此重构手法的适用场景以及它所做的事。这部分可以帮助你快速招的你所需要的重构手法介绍这个重构能够解决的问题,介绍你该做的事情。一副速写图,简单展现重构前后的示例3,动机,为什么要重构?什么情况下不该使用这个重构4,做法,简明扼要的一步一步介绍如何进行重构尽量将重构的每个步骤都写得简短5,范例,以一...原创 2020-01-15 10:40:51 · 157 阅读 · 0 评论 -
重构改善既有代码的设计《四》构筑测试体系
4.1自测试代码的价值1,每一个类都应该有一个测试函数,并以他来测试自己的这个类2,确保所有的测试自动化,让他们检查自己的测试结果3,一套测试就是一个强大的bug侦测器,能够大大缩短查找bug所需要的时间...原创 2020-01-15 10:18:47 · 200 阅读 · 0 评论 -
重构改善既有代码的设计《三》代码的坏味道
3.1Duplicated Code(重复代码)1,同一个类的两个函数含有相同表达式,采用Extract Method 提炼重复代码,然后让这两个地点都调用提炼出来的代码2,两个互为兄弟的子类内含有相同表达式,要避免这种情况,只需对两个类使用Extract Method,然后Pull up Method,将它推入超类。如果只是类似并非完全相同,考虑使用模板方法设计模式3,两个不相干的类出啊先...原创 2020-01-14 13:25:58 · 202 阅读 · 0 评论 -
重构改善既有代码的设计《二》重构原则
2.1 何谓重构1,定义名词形式:对软件内部结构的一种调整,目的是在不改变软件可观察的行为前提下,提高其可理解性,降低其修改的成本动词形式:使用一系列重构的手法,在不改变软件可观察行为的前提下,调整其结构2,目的使软件更容易被理解和修改。你可以在软件内部做很多修改,但必须对软件的可观察的外部行为只造成很小的变化,或者没有变化,与之相对比的是性能优化,性能优化通常不会改变组件的行为(除了...原创 2020-01-14 00:02:01 · 171 阅读 · 0 评论 -
重构改善既有代码的设计《一》第一个案例
##1.1 起点如果你发现子级需要未程序添加一个特性,而代码结构使你无法方便的达到目的,那么就先重构那个程序,使特性的添加比较容易的进行,然后再添加特性##1.2...原创 2020-01-13 21:19:48 · 334 阅读 · 0 评论