2006 的时候,amazon CTO 在一篇文章中介绍了向下工作法(或者有也有翻译成向后工作法)
https://www.allthingsdistributed.com/2006/11/working_backwards.html
向下工作法,简而言之就是下面的流程:
- 先写宣传稿
- 再写 FAQ
- 再定义用户体验
- 再写用户手册
走完这 4 步之后,对于要做的产品应该是相当的清晰了。
我看了之后深以为然。
然后分享我的一个思考:文档即代码
这一点对于前后端 API 模块的开发来说相当适用。 也就是说,正确良好的工作过程应该是,先写好 API 文档,再通过 API 文档生成前端的 JS/TS 代码。 通过 API 文档生成后端代码。
前后端的 API 模块都应该遵从这样一个逻辑。
- 先写 API 文档。
- 通过 API 文档生成 代码,(需要时初始手写代码)
- 更新 API 文档
- 再根据 API 文档更新前后端代码。
- ...
它带来的好处:
- API 文档和前后端的代码,能保持高度一致
- 通过代码自动生成基本的代码,减少工作量(大部分的 Domain Model, 和 基本 API 接口请求及响应都应该自动生成)
- 方便批量修改。
API 文档可以采用 Swagger 的文档。