美文网首页
重构(二) -- 重构的原则

重构(二) -- 重构的原则

作者: OakesYa | 来源:发表于2021-02-17 23:54 被阅读0次

    重构的定义

    • 名词:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低修改成本
    • 动词:使用一系列重构手法,在不改变软件可观察行为的前提下调整其结构
    • 所以重点是使软件更容易被理解和修改,不改变软件可观察行为即软件功能一如既往

    何时重构

    • 添加功能时重构
      重构是一个快速流畅的过程,帮助理解代码逻辑
    • 修补错误时重构
    • 复审代码时重构

    间接层

    • 大多数重构都为程序引入了更多间接层,重构往往把大型对象拆成多个小型对象,把大型函数拆成多个小型函数
    • 间接层的价值:
      1:允许逻辑共享
      2:分开解释意图和实现,根据新的类或函数名称
      3:隔离变化,不需要担心一个对象的修改会影响到其他使用的地方
      4:封装条件逻辑,使用多态方式灵活而清晰地表达条件逻辑

    重构的难题

    现在我们只能明显看到重构的好处,但是还没有获得足够的经验知道其局限性

    • 数据库
      当数据库模型和对象模型变的不稳定时,可以在之间插入一个分隔层,帮助隔离两个模型各自的变化
    • 修改接口
      重构修改已发布接口时必须做到原始功能的兼容,可以尽量让旧接口调用新接口并将老接口标记为deprecated,并且谨慎发布接口
    • 难以通过重构手法完成的设计改动
      可能存在某些核心设计决策,无法以重构手法修改,可能就需要对选择候选设计方案时的难度进行考虑。
    • 何时不该重构
      将大块头软件重构为封装良好的小型组件,然后逐一对组件做出重构或重建的决定

    重构与性能

    不应该为了提高设计的纯洁性而忽视性能

    相关文章

      网友评论

          本文标题:重构(二) -- 重构的原则

          本文链接:https://www.haomeiwen.com/subject/ypicxltx.html