原则
- 设计
- 实现
- 优化
设计
- 怎么实现,通过注释 + 伪代码 + 画图的方式讲明白,这个后期稍微修补可以直接输出为文档或测试用例
- 思路必须做到清晰,不清晰不动手
- 输入、输出、这个问题的背景是什么,为了解决什么问题
实现
- 数据是否有序、规模多大、重复元素、取值范围
- 空间上怎么存储(数据结构)、内存使用有没有要求
- 需不需要是稳定的算法、输入出错 (入参、全局变量、文件)、没有输出或多个输出怎么做
优化
- 算法是否可以优化时间空间
- 函数、类、变量命名得更好
- 函数和类的职责够不够内聚
- 容易变化的位置可能在哪里