Agent Skills
返回列表
💻

接口双方案

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/design-an-interface 技能到 AI 助手中。

技能介绍

解决接口设计的“第一直觉陷阱”

在软件架构中,基于第一直觉设计的接口往往不是最优解。过早锁定一个平庸的 API 形状,会导致后期高昂的重构成本与调用方适配问题。本技能旨在打破这种“过早定型”的思维惯性,强制你在编码前先审视模块的多种可能形态。

核心工作流与设计哲学

本技能扮演资深架构师,严格遵循《A Philosophy of Software Design》中 "Design It Twice" 的理念。工作流分为五个关键步骤:

  • 收集需求:明确模块边界、调用方、关键操作与约束,回答“做什么”与“谁在用”。
  • 并行产出:生成 3 套以上差异最大化的方案。例如方案 A 追求 notify() 这种极简入口,方案 B 则引入 NotificationChannel 接口以换取最大灵活性。
  • 逐一呈现:先展示每套方案的签名、调用示例及隐藏的复杂度,避免直接抛出对比表。
  • 五维对比:从简洁性、通用性、实现效率、深度(小接口隐藏大复杂度)和易误用性进行散文式深度剖析。
  • 综合建议:融合多套方案之长,输出最终的 InterfaceDesignSet 工件。

适用边界与注意点

本技能专注于接口的形状设计,不涉及具体业务逻辑的落地。它不会直接生成实现代码,也不以“实现成本高低”作为唯一的评价标准。如果你需要直接编写测试用例或业务代码,请将生成的接口方案交给下游的 tdd 或 implement 技能处理。

使用场景

  • 在动手写通知模块代码前,想先看到多种接口形状并对比易用性与扩展性
  • 探索某模块对外 API 时,希望并行产出最小方法、最大灵活、常用优化等方案
  • 评审阶段需要一个 InterfaceDesignSet,明确签名、示例、隐藏复杂度与取舍
  • 定接口前想先看性能与兼容性约束下哪种形状更合适

适合人员

  • 资深后端工程师:准备定模块对外 API,想在编码前看多套方案并选出最合适的形状
  • 架构师:评审团队的接口草案,想用多个维度比较深度、通用性与实现效率
  • 全栈开发者:需要快速收敛模块形状,再交给 codebase-design 或 tdd 继续推进
  • 技术负责人:在兼容性与性能约束下,想先看不同接口形态的取舍再拍板