重构
https://www.cnblogs.com/midoujava/p/11839091.html
https://segmentfault.com/a/1190000011460556
1. 如果Extra出来的Method还没复用, 而Extra前代码块在函数内足够清晰, 不要盲目Extra
https://www.jianshu.com/p/f667ea3e4a11
重构条件
重复代码
当发现三处及以上的重复代码时,就应该毫不犹豫的进行重构。
复杂的逻辑嵌套
超长的函数
过长的参数列表
重构方式
修改函数名词
简化参数
提炼函数
消除多余的临时变量
加入解释性的临时变量
将查询和修改分离
类的处理
搬移函数
搬移字段
类的拆解
主要让类做的事情单一
类的整合
重复代码过多
提炼父类
条件表达式的处理
分解条件表达式
合并重复的代码片段
移除临时性的控制标记变量
以多态取代条件表达式
https://www.jianshu.com/p/e3a0433ada10
重复代码
过长函数
过大的类
过长参数列
以函数取代参数 (内部使用参数的地方改为函数调用)
保持对象完整 (多个参数属于同一个对象,以对象为参数, )
引入参数对象 (把多个参数组装到对象中)
发散式变化
霰弹式修改
依恋情结
数据泥团
基本类型偏执
switch惊悚现身
平行继承体系
冗赘类
夸夸其谈未来性
令人迷惑的暂时字段
过度耦合的消息链
中间人
狎昵关系
异曲同工的类
不完美的库类
纯稚的数据类
被拒绝的遗赠
过多的注释