重构-改善既有代码的设计
Mason技术
暂无
展开
-
简化条件表达式
1. 分解条件表达式 if (isUp(case) || isLeft(case)) num = a * b; else num = a * c; 更改为↓ if (isTrue(case)) numberB(a); else numberC(a); boolean isTrue(case) { return isUp(case) || isLeft(case);原创 2017-07-04 22:43:26 · 208 阅读 · 0 评论 -
简化函数调用
1.函数改名 把函数名称修改为能揭示函数的用途 2.添加参数 为函数添加参数 3.移除参数 从函数中移除参数 4.将查询参数和修改参数分离 建立俩个不同的函数,一个查询,一个修改 5.令函数携带参数 若干函数做了类似的工作,但在函数本体中却包含了不同的值,建立单一函数,以参数表达不同的值 fivePercentRaise() tenPercentRaise() ra原创 2017-07-05 21:54:15 · 251 阅读 · 0 评论 -
大型重构
1.梳理并分解继承关系 某个继承体系同时承担俩项责任,建立俩个继承体系,并通过委托关系让其中一个可以调用另一个 2.将过程化设计转化成对象设计 将数据记录变成对象,将大块的行为分成小块,并将行为移入相关对象中 3.将领域和表述/显示分离 某些gui类中包含领域逻辑,将领域逻辑分离出来,为它们建立独立的领域类 4.提炼继承体系 某个类做很多工作,一部分工作是以大量条件表达式完成的,建立原创 2017-07-08 19:21:05 · 330 阅读 · 0 评论 -
重新组织数据
1. 自封装字段为字段建立取值设值函数,以函数访问private int _length, _width; public int area() { return _length * _width; } 更改为↓ private int _length, _width; public int area() { return getLength() * getWidth(); } i原创 2017-07-08 19:34:27 · 219 阅读 · 0 评论 -
重构类
1. 搬移函数每一个方法应该放在它最适合的位置,不能随便乱放,所以很多时候你需要考虑,一个方法在这里是不是最适合的。class Class1 { aMethod(); } class Class2 { } 更改为↓ class Class1 { } class Class2 { aMethod(); } 做法: 检查源类中被原函数所使用的一切特性(字段,函数),考虑是否该被迁原创 2017-07-08 19:33:28 · 363 阅读 · 0 评论 -
重构函数
1. 提炼函数 这种情况应该很多人都遇到过,编程中不要有大量的重复代码,解决办法就是去提炼到一个单独的函数中。 void A() { ..... System.out.println("name" + _name); } void B() { ..... System.out.println("name" + _name); } 更改为↓ void A()原创 2017-07-08 19:32:26 · 2422 阅读 · 0 评论 -
处理概括关系
1.字段上移 俩个子类拥有相同的字段,将该字段移至超类 2.函数上移 函数在各个子类中作用相同,移至超类 3.构造函数本体上移 在超类中新建一个构造函数,并在子类构造函数中调用它 public class Manager extends Employee{ private String name; private String id; private String grade;原创 2017-07-07 21:01:18 · 217 阅读 · 0 评论 -
重构-改善既有代码的设计 读后感
重构函数 1. 重复代码 这种情况应该很多人都遇到过,编程中不要有大量的重复代码,解决办法就是去提炼到一个单独的函数中。 void A() { ..... System.out.println("name" + _name); } void B() { ..... System.out.println("name" + _name); } 更改为↓ vo转载 2017-06-16 21:39:22 · 328 阅读 · 0 评论