开发命令行界面(CLIs)

主要观点:构建 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 测试在确保实现与草图匹配中的作用。
  • 提及团队在不断迭代过程中逐渐减少痛苦,希望能给他人带来启发并学习他人经验。
阅读 25
0 条评论