《重构——改善既有代码的设计》读书笔记1

参考资料:
[1]. IDEA 重构快捷键

  • IDEA重构快捷键:

重命名文件、方法、属性等(rename):SHIFT+F6
提取当前选择为变量(extract variable):CTRL+ALT+V
提取当前选择为属性(extract field):CTRL+ALT+F
提取当前选择为常量(extract constant):CTRL+ALT+C
提取当前选择为方法(extract method):CTRL+ALT+M
提取当前选择为方法参数(extract parameter):CTRL+ALT+P
重构类、方法(change signarture):CTRL+F6
提取代码块至if、try等结构中(surround with):CTRL+ALT+T
创建模块文件等(new):CTRL+ALT+N
创建测试用例(test):CTRL+SHIFT+T
重构菜单(refactor for this):CTRL+T

  • 减少代码之间的耦合
    第一章有个改动是将for循环里面不同的局部变量拆分出来,每个局部变量的计算分成一个函数,这样的好处就是各个功能之间不会因为循环而耦合在一起,拓展起来方便,用起来也方便,虽然性能上有点损失,要多做几次循环。

  • Extract Method的时候参数过多的解决办法

  1. Replace Temp with Query(120)
  2. Introduce Parameter Object(295)
  3. Preserve Whole Object(288)
  4. Replace Method with Method Object(135)
  • Extract Method的标志
  1. 寻找注释
  2. 条件表达式(Decompose Conditional(238))
  3. 循环
  • 发散式变化(3.5)
    一个类经常因为不同的原因进行修改,可能是因为这个类承载了过多的功能,需要将这个类进行拆分。

  • 散弹式修改(3.6)
    在某个方向上进行修改需要改动多个类,可能是因为类的设计过于分散,需要将类集中为一个。
    发散式变化和散弹式修改背后体现的是类的设计要有且仅有单一职责。

  • 依恋情节(3.7)
    提取代码后将代码移动到它更加应该呆的对应类,更加体现了面向对象编程。函数调用了半打取值函数得到某个值,这个时候应该将这个函数移动到它取值的类中去。

  • 基本类型偏执(3.9)
    多用对象而不是基本类型,

  • 数据泥团
    将经常放在一起的变量封装为对象。

  • 中间人(3.16)
    消除不必要的委托。

你可能感兴趣的:(《重构——改善既有代码的设计》读书笔记1)