《重构-改善既有代码的设计》重构手法(搬移特性)

2022-07-26,,,

文章内容和思路来自《重构-改善既有代码的设计》

 

1> 搬移函数:搬移函数最直接的一个动因就是频繁引用其他上下文的元素,而对自身上下文中的元素却关心甚少。此时,让它去与那些更亲密的元素相会,通常会取得更好的封装效果,因为系统别处就可以减少对当前模块的依赖

     

2> 搬移字段:如果更新一个字段需要同时在多个结构中做出修改,那也是一个征兆,表明该字段需要被搬移到一个集中的地方,这样每次只需修改一个地方

      

3> 搬移语句到函数:要维护代码库的健康发展,需要遵守几条黄金守则,其中最重要的一条当属“消除重复”。如果我发现调用某个函数的时候,总有一些相同的代码也要依次执行,那么我会考虑将此段代码合并到函数里头

      

4> 搬移语句到调用者:随着系统能力的不断演进,原先设定好的抽象边界总会悄无声息的发生偏移,对于函数来说,这样的边界偏移意味着曾经视为一个整体、一个单元的行为,如今可能已经分化出两个甚至是多个不同的关注点。函数边界发生偏移的一个征兆是,以往在多个地方共用的行为,如今需要在某些调用点面前表现不同的行为。于是,我们得把表现不同的行为从函数里挪出,并搬移到其调用处

      

5> 以函数调用取代内联代码:善用函数可以帮助我将相关的行为打包起来,这对于提升代码的表达力大有裨益(一个命名良好的函数,本身具有极好的解释代码的用途,使读者不用过多的了解函数实现)。函数同样有助于消除重复,因为同一段代码我不需要编写两次

      

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

      

7> 拆分循环:你常常能够看到一些身兼多职的循环,他们一次做了两三件事情,不为别的,就因为这样可以只循环一次

      

8> 以管道取代循环:越来越多的变成语言提供了更好的语言结构来处理迭代过程,这种结构就叫做集合管道

      

9> 移除死代码:一旦代码不再使用,立即删除它

      

本文地址:https://blog.csdn.net/SuperYang_/article/details/111051380

《《重构-改善既有代码的设计》重构手法(搬移特性).doc》

下载本文的Word格式文档,以方便收藏与打印。