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

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

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

     

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

      

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

      

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

      

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

      

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

      

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

      

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

      

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

      

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperYang_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值