每次写新的业务时,或多或少有一些似曾相识的感觉,但是又说不上哪些地方可以参照过去的经验;开发过程中,会出现一些细节上的不同,又可能导致必须推翻整体结构重来……就像《穷查理宝典》中推崇多思维模式解决问题一样,开发业务代码是不是也可以整理出多种“业务模型”,为后续开发提供更加可靠高效的解决方案呢?
# 新增业务数据和算法的平衡
一个新增的业务肯定会涉及多个部分的功能,在设计数据结构时,可做以下几步:
- 整理所有涉及的功能
- 功能分清主次,标准:是否功能核心,出现频率
- 每个功能做以下分析:
- 当前结构能否实现这个功能?
- 能
- 不能:增加额外数据
- 实现方法是否低效?
- 否
- 是:有无替代算法?可否增加额外数据?
- 当前结构能否实现这个功能?
- 全部功能过完后,思考能否重构、删减多余数据,修改后重复第3步
- 新业务优先:不动之前的代码;重构优先:简化写法