主要观点:构建 CLI 功能通常归结为一系列步骤,如发布新 API 端点、构建新 CLI 动作、修正 API 错误等,传统方式易陷入瀑布式项目管理模式,需寻找更好方法。
关键信息:
- 以“去 sketchy 开始”,用“草图”(sketches)辅助理解功能,后发现静态草图反馈不足,改用 Ruby 程序捕捉动画式 CLI 输出。
- 测试方面,通过 Charm 的“teatest”进行黄金测试,以高保真捕捉动画式 CLI 输出,用 flag 更新黄金输出文件,便于 PR 审查。
- API 和 CLI 同时设计,借助OpenAPII 草图和spectral linter 简化工作,用prism作为模拟 API 服务器,实现 API 和 CLI 共同演进。
- 实施 API 时利用committee确保实现符合规范,测试时用 flag 控制 prism 以 mock 或 proxy 模式运行,分别用于不同场景。
重要细节: - 文中介绍了从开始到结束的整个过程,包括各个阶段的工具和方法,如 Ruby 程序、teatest、OpenAPI、spectral、prism 等。
- 强调了草图和规格在迭代过程中的重要性,以及 mock 和 proxy 测试在确保实现与草图匹配中的作用。
- 提及团队在不断迭代过程中逐渐减少痛苦,希望能给他人带来启发并学习他人经验。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。