上一页 1 2 3 4 5 6 7 8 ··· 19 下一页
摘要: 理解:把条件语句中复杂的判断用尽快返回来简化。 详解:如首先声明的是前面讲的”分解复杂判断“,简单的来说,当你的代码中有很深的嵌套条件时,花括号就会在代码中形成一个长长的箭头。我们经常在不同的代码中看到这种情况,并且这种情况也会扰乱代码的可读性。下代码所示,HasAccess方法里面包含一些嵌套条件 阅读全文
posted @ 2016-04-12 09:49 IT少年 阅读(754) 评论(0) 推荐(0) 编辑
摘要: 理解:本文中的”去除中间人对象”是指把 在中间关联而不起任何其他作用的类移除,让有关系的两个类直接进行交互。 详解:有些时候在我们的代码会存在一些”幽灵类“,设计模式大师Martin Fowler称它们为“中间人”类,“中间人”类除了调用别的对象之外不做任何事情,所以“中间人”类没有存在的必要,我们 阅读全文
posted @ 2016-04-12 09:44 IT少年 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 详解:本文中的”为布尔方法命名”是指如果一个方法带有大量的bool 参数时,可以根据bool 参数的数量,提取出若干个独立的方法来简化参数。 理解: 我们现在要说的重构并不是普通字面意义上的重构,它有很多值得讨论的地方。当一个方法带有大量的bool 参数时,会导致方法很容易被误解并产生非预期的行为, 阅读全文
posted @ 2016-04-12 09:37 IT少年 阅读(885) 评论(0) 推荐(0) 编辑
摘要: 理解:本文中的”去除上帝类”是指把一个看似功能很强且很难维护的类,按照职责把自己的属性或方法分派到各自的类中或分解成功能明确的类,从而去掉上帝类。 详解:我们经常可以在一些原来的代码中见到一些类明确违反了SRP原则(单一原则),这些类通常以“Utils”或“Manager”后缀结尾,但有时这些类也没 阅读全文
posted @ 2016-04-12 09:26 IT少年 阅读(4340) 评论(0) 推荐(1) 编辑
摘要: 理解:”移除双重否定”是指把代码中的双重否定语句修改成简单的肯定语句,这样即让代码可读,同时也给维护带来了方便。 详解:避免双重否定重构本身非常容易实现,但我们却在太多的代码中见过因为双重否定降低了代码的可读性以致于非常让人容易误解真正意图。存在双重否定的代码具有非常大的危害性,因为这种类型的代码容 阅读全文
posted @ 2016-04-12 09:17 IT少年 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 理解:本文中的”引入契约式设计”是指我们应该对应该对输入和输出进行验证,以确保系统不会出现我们所想象不到的异常和得不到我们想要的结果。 详解:契约式设计规定方法应该对输入和输出进行验证,这样你便可以保证你得到的数据是可以工作的,一切都是按预期进行的,如果不是按预期进行,异常或是错误就应该被返回,下面 阅读全文
posted @ 2016-04-10 14:07 IT少年 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 理解: 当你的代码中有很深的嵌套条件时,花括号就会在代码中形成一个长长的箭头。我们经常在不同的代码中看到这种情况,并且这种情况也会扰乱代码的可读性。 如下代码所示,HasAccess方法里面包含一些嵌套条件,如果再加一些条件或者增加复杂度,那么代码就很可能出现几个问题:1,可读性差。 2,很容易出现 阅读全文
posted @ 2016-04-10 14:02 IT少年 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 理解:有时候我们的一个方法,需要很多个参数,太多参数,不易阅读和理解,我们就可以把多个参数封装成一个对象。 详解: 重构前代码: 通常这种情形下创建一个用户传递参数的类是很有帮助的,这会使得代码更容易明白也更灵活,因为当你需要增加参数时,只需要给参数类添加一个属性即可。请注意只有当你发现方法的参数比 阅读全文
posted @ 2016-04-10 13:55 IT少年 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 理解:如果一个功能,里面比较复杂,代码量比较多,我们就可以把这个功能分解成多个小的method,每个方法实现该功能的一个小小的部分,并且方法命名成容易理解,和方法内容相关的名称,更有助于维护和可读性提高。 详解: 重构前代码: 我们看到这个AcceptPayment方法,因为现实中AcceptPay 阅读全文
posted @ 2016-04-10 13:48 IT少年 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 理解:本文中的”合并继承”是指如果子类的属性和方法也适合于基类,那么就可以移除子类,从而减少依赖关系。 详解:上一篇我们讲到“提取子类”重构是指当基类中的一个责任不被所有的子类所需要时,将这些责任提取到合适的子类中。而我们今天所要讲的的“合并继承”重构一般用在当我们觉得不需要子类的时候。 如上代码所 阅读全文
posted @ 2016-04-09 23:39 IT少年 阅读(460) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 19 下一页