【前端重构】重构原则

589 阅读2分钟

一:什么是重构

名词:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本

动词:使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。

一般而言,重构都是对软件的小改动。

两顶帽子:添加新功能,以及重构。

二:为何重构

1、重构改进软件设计

2、重构使软件更容易理解

为了让代码变得更容易理解,可以适当舍弃部分性能。

3、重构帮助找到bug

4、重构提高编程速度

三:何时重构

重构应该随时随地进行,不应该为了重构而重构。

重写比重构还容易时,舍弃重构,直接重写

1、三次法则:事不过三,三则重构。

2、添加功能时重构

原代码的设计无法让我轻松添加新特性。

3、fixbug时重构

4、复审代码时重构

总结:

  • 难以阅读的程序,难以修改
  • 逻辑重复的程序,难以修改
  • 添加新行为时,需要修改已有代码,难以修改
  • 带复杂条件逻辑的程序,难以修改

因此我们希望程序:

  • 容易阅读
  • 所有相同逻辑都在唯一地点指定
  • 新的改动不危机现有行文
  • 尽可能简单表达条件逻辑

四:怎么对项目经理说

  • 质量驱动:避免线上故障
  • 不要告诉项目经理

五:重构的难题

  • 延缓新功能的开发
  • 代码所有权
  • 测试(自测...)
  • 遗留代码
  • 数据库(数据迁移...)

六:重构与设计

有了设计(技术方案),我可以思考更快,但是其中充满小漏洞。

七:重构与性能

为了让软件易于理解,我们常会做出一些使程序运行变慢的修改。

  • 时间预算法,这通常只用于性能要求极高的实时系统,给每个组件预先分配一定资源
  • 持续关切法,在任何时间做任何事时,都要设法保持系统的高性能。

八:自动化重构

  • Eslint配置 - 如:引入但未被使用的变量、函数