重构:改善既有代码的设计 第八章 读书笔记

第8章 搬移特性
8.1 搬移函数(Move Function)

  在对象之间搬移函数;

  
8.2 搬移字段(Move Field)

  在对象之间搬移字段;


8.3 搬移语句到函数(Move Statements into Function)

 

   动机:消除重复,如果我发现调用某个函数时,总有一些相同的代码也需要每次执行,那么我会考虑将此段代码合并到函数里头。

 

8.4 搬移语句到调用者(Move Statements to Callers)

  和搬移语句到函数作用相反  

  

 

 

8.5 以函数调用取代内联代码(Replace Inline Code with Function Call)

  demo:

 

 

 

8.6 移动语句(Slide Statements)

  曾用名:合并重复的代码片段

  动机:让存在关联的东西一起出现,可以使代码更容易理解。如果有几行代码取用 了同一个数据结构,那么最好是让它们在一起出现,而不是夹杂在取用其他数据 结构的代码中间。


8.7 拆分循环(Split Loop),一般循环不会成为性能瓶颈,如果成为的性能瓶颈再恢复多功能操作。

  动机:但如果你在一次循环中做了两件不同的事,那么每 当需要修改循环时,你都得同时理解这两件事情。如果能够将循环拆分,让一个 循环只做一件事情,那就能确保每次修改时你只需要理解要修改的那块代码的行 为就可以了。

  code demo:

 

 


8.8 以管道取代循环(Replace Loop with Pipeline)

  相当于用stream取代循环。stream是管道的一种处理方式。


8.9 移除死代码(Remove Dead Code)

  不用的代码,立刻删除它。

posted @ 2022-12-01 10:07  上海小墨子  阅读(56)  评论(0编辑  收藏  举报