1. 面向对象
  2. 设计原则
  3. 设计模式
  4. 编程规范
  5. 重构

编写高质量代码

面向对象

  • 封装、抽象、继承、多态
  • 面向对象 vs 面向过程
  • 面向对象分析、设计、编程
  • 接口 vs 抽象类
  • 基于接口而非实现编程
  • 多用组合少用继承
  • 面向对象的贫血模型和充血模型

设计原则

  • SRP单一职责原则
  • OCP开闭原则
  • LSP里式替换原则
  • ISP接口隔离原则
  • DIP依赖倒置原则(SOLID原则)
  • DRY原则、KISS原则、YAGNI原则、LOD法则

设计模式

创建型

  • 单例模式
  • 工厂模式(工厂方法和抽象工厂)
  • 建造者模式

结构型

  • 代理模式
  • 桥接模式
  • 装饰者模式
  • 适配器模式

行为型

  • 观察者模式
  • 模板模式
  • 策略模式
  • 职责链模式
  • 迭代器模式
  • 状态模式

编程规范

  • 命名规范等

代码重构

  • 目的、对象、时机、方法
  • 单元测试和代码的可测试性
  • 大重构(大规模高层次)
  • 小重构(小规模低层次)