如何读代码写代码

文章目录
  1. 1. 怎么读
  2. 2. 怎么写

怎么读

  1. 这个库是用来干嘛?

  2. 子模块都有什么,子模块都干了什么?画出模块草图

  3. 核心类有哪些,把核心类的依赖关系用 UML图表示出来

  4. 分析每个子模块,想想使用了什么技术实现的?他是怎么利用这个技术的,你在开发中如何使用这个技术?

  5. 针对每个技术原理要清晰

  6. 看文件结构

    1. 思考作者分了那些模块
    2. 每个模块都是干啥的
    3. 模块联系实际场景是啥,文件上用了哪些架构or设计模式(MVC,MVVM,ViewStateModel,Coordinate,Meditate……)
    4. 模块间是如何联系的——数据流
    5. 了解具体模块细节
  7. 看具体协议&类的接口

    1. 作者想要给用户提供什么功能
    2. 类的数据出口&入口是什么
    3. 类之间关系使用了什么设计模式,如何提高了复用性
  8. 看数据流向

    1. 对于文档少&想更深入理解代码,借助 IDE 调试代码,跟踪数据输入输出,看函数调用栈
    2. 根据数据流向可以更清楚类之间的关系
  9. 看具体实现

    1. 想知道具体细节如何实现的时候,看文件,定位源码位置

怎么写

  1. 确定功能
  2. 根据功能确定模块
  3. 中介者做 Manager 管理各个子模块
  4. 根据模块分文件夹
    1. 思考模块之间关系,出口入口,相互依赖关系
  5. 每个模块写接口——API
    1. API 层级关系,抽象层级,高层及实现通用功能
    2. 接口出口入口,依赖注入
    3. 接口之间依赖关系,思考使用何种设计模式
  6. 根据模块,实现协议
    1. class 开发
    2. class 之间关系,使用什么设计模式,提高复用效率
    3. class 的出口入口,依赖注入
    4. 私有成员内部逻辑