前言

公司在年后要举办一次“代码质量月”的活动,由我负责第三部分即结合实例方面的讲解,实例内容主要来自于 ETL 开发中的几次重构,以及我应该会抽时间研究和学习一下《改善既有代码的设计》这本书,所有的进度和内容都会记录在这份文档里。

提纲

;

  1. 灵活使用设计模式
    讲解一些常用设计模式的使用场景及前后效果对比
  2. 科学使用存储软件
    主要讲解 PHP 如何配合数据库(考虑加上 Redis )优化查询、变更、删除方面的内容
  3. 实际项目中的一些最佳实践
    这部分考虑先看完《改善既有代码的设计》这本书,然后再次重构 ETL 后进行总结

读书笔记

何谓重构

  • 重构,使用一系列手法,在不改变软件可观察行为的前提下,调整其结构。这点可能跟我要讲的内容有冲突
  • 开发和重构是两部分工作,开发时只增加新功能确保通过测试通过,重构时只修改程序结构使通过相同测试。

为何重构

  • 改进软件设计
  • 更容易理解
  • 查找 Bug
  • 提高速度,良好的设计是快速开发的根本

何时重构

  • 添加功能时
  • 修补错误时
  • 复审代码时 欠缺之处

糟糕的程序

  • 难以阅读
  • 逻辑重复
  • 添加新行为会影响已有代码
  • 带有复杂条件逻辑的程序

重构的难题

  • 数据库
    • 程序与数据库结构耦合
    • 数据库结构变更导致迁移数据
  • 接口
    • 接口重命名,同时维护两个接口,使旧接口调用新接口,对旧接口 Deprecation

参考资料