重构改善既有代码的设计
文章平均质量分 92
小大宇
能与优秀的人为伍自然就会变优秀
展开
-
重构心法修炼第一层:重新组织函数
6.1 提炼函数 将小的功能抽取为函数,并将其方法名作为注释,所以,需要在方法名上下一点功夫。 抽取小的功能的优势在于两点:(1)可复用这个小功能(2)便于重写 函数名应该以其意图而命名,而不是以如何去做命名。 函数名如此重要,若想不出一个可以表现其意图的名字,就先别动。 提炼函数遇到的最大的问题是:处理临...原创 2018-11-29 11:38:15 · 364 阅读 · 0 评论 -
重构心法修炼第二层:在对象之间搬移特性
7.1 搬移函数 当前类中的某个方法,却与其它类配合的更加紧密,那么应该把原类的方法迁移到其它类中。如果用到了当前类中少许字段或者方法,可用方法参数来传递当前字段或者对象。在迁移方法成功后,将当前类的旧函数变成一个单纯的委托函数,或是将旧函数完全删除,即内联函数。 下面的例子中,一种租赁包含一部电影与租期。而计算费用的函数,主要是根据电影的类型,所以才会出现多...原创 2018-11-30 17:25:16 · 287 阅读 · 0 评论 -
重构心法修炼第四层:简化函数调用
10.1 函数改名 当函数的名称未能够揭函数的用途,那么就修改函数的名称。 抽取出来的方法虽然可重用性与可复写性变高,但需要将它们的起一个好名字。否则我将会需要费劲周折来弄清楚这些函数的功能。有一个比较好的办法,先为这个函数增加一个注释,再使用用注释成为方法名。 10.4 将查询函数与修改函数分离 某个函数即返回了对象的状态值,也修改了对...原创 2018-12-13 22:43:31 · 377 阅读 · 0 评论 -
重构心法修炼第三层:简化条件表达式
9.1 分解条件表达式 如果有一个非常复杂的条件(if--then--else),可以将 if then else 三个段落中分别提炼出独立的函数。 if 语句若有多个条件,按其意图抽取函数,并按意图命名,则代码可读性将大大提升。 then 与 else 段落的代码也一样可抽取。提炼出来的函数可读性也更高一些,它看上去就像一段注释那样清楚明白。 ...原创 2018-12-07 16:31:31 · 378 阅读 · 0 评论 -
重构心法修炼第五层:处理概括关系
11.1 字段上移 两个子类拥有相同的字段,将该字段移动到超类。 本重构优势在于:去除重复声明,并去除重复行为。 11.2 函数上移 有些函数,在各个子类中产生完全相同的效果。若函数签名不同, 修改函数签名到一致并上移至超类。 如果要被向上抽取的函数调用了子类的其它函数,可以一并将该函数移动到超类,或者直接在超类中声明一...原创 2018-12-16 22:09:44 · 254 阅读 · 0 评论