API 变革与风格解析
1. API 变更的复杂性
API 变更速度的提升是一个复杂的问题。进行 API 变更所需的资源量至少受以下因素影响:
- 问题的复杂性
- 工作人员的经验和能力
- 变更流程设计
- 实现的复杂性和质量
虽然降低工作成本是专业软件开发的核心目标,且有大量研究和建议可供参考,但确定具体的变更方法、质量管理流程、架构、实现和自动化工具以减少工作投入,还需结合自身组织情况进行探索。
1.1 机会成本
有时,因想先收集更多信息而不改变 API,会产生机会成本。Lean 软件开发方法的创造者 Tom 和 Mary Poppendieck 提出,应等到最后责任时刻再做关键决策。但在很多情况下,忽略这一原则可能更好,比如对已发布软件组件进行小的代码更改,若能立即获得错误反馈且恢复时间短,就无需过于担心机会成本。
API 产品的一些典型变更属于非关键且易于恢复的类型,如更改 API 文档的外观和感觉;而有些变更则需谨慎对待,如更改 API 的接口模型,可能会产生深远影响。减少变更机会成本的一种方法是更好地收集信息。
1.2 耦合成本
API 与消费者之间的耦合是 API 自由轻松变更的最大障碍。无论选择哪种 API 风格,都会在消息发送者和接收者之间引入某种依赖或耦合,这会影响 API 的变更内容和时间。
API 是软件模块间通信的载体,软件组件需共享知识才能进行有效通信。API 变更的关键因素在于有多少通信规则被硬编码到已发布组件的代码中,当 API 语义在设计时就被定义,更改接口的成本会增加。
耦合是
超级会员免费看
订阅专栏 解锁全文
1773

被折叠的 条评论
为什么被折叠?



