重构基本概念

  1. 什么是重构?
    我们可以把重构理解为,在保持功能不变的前提下,利用设计思想、原则、模式、编程规范等理论来优化代码,修改设计上的不足,提高代码质量。
  2. 为什么要重构?
    对于公司而言,随着项目在演进,代码在堆砌,不免会产生一些过时的、冗余代码等。就需要重新整理,重新设计,使代码恢复设计模式和设计原则的限制。
    对于设计而言,重构是避免过度设计的有效手段
    对于个人而言,重构也很锻炼程序员的功底,这是对设计模式,设计原则的实际应用。
    所谓:初级工程师在维护代码,高级工程师在设计代码,资深工程师在重构代码。
    即:初级工程师在已有代码框架下修改 bug、修改添加功能代码;高级工程师从零开始设计代码结构、搭建代码框架;而资深工程师为代码质量负责,需要发觉代码存在的问题,重构代码,时刻保证代码质量处于一个可控的状态(当然这里的初级、高级、资深只是一个相对概念,并不是一个确定的职级)。
  3. 要重构什么?
    按照大小规模来分:
    大规模重构包括对代码分层,模块化,解耦,梳理类之间的关系
    小规模重构是对代码进行规范命名、注释、修正函数、提取重复代码、消除超大类等
  4. 什么时候重构?
    发现臭味道的时候就需要去重构了,不能等到不能用了再去重构。那时候都是旧代码,没有人敢动的级别了
  5. 如何重构?
    大小重构都要需要控制周期,不能影响开发进度,也要控制范围,一步一步来重构,要保证代码随时可以运行和使用,也方便做一些兼容性代码。由于影响范围小所以需要时间也短,随时都可以去做