API 景观成熟之旅与生命周期管理
1. 依赖暴露与可见性
依赖暴露有多种方式,开发者可明确列出依赖信息,也可使用工具对实现代码进行检查,还能在 API 级别进行运行时观察。这种依赖图可像网页链接图一样,作为计算方法(如 PageRank 算法)的输入。
若 API 在 API 级别清晰展示其依赖(考虑到将所有依赖视为 API 依赖的原则),这些信息可用于创建依赖图,甚至生成更高级的信息,如计算 API 受欢迎程度。在反馈循环中,宏观层面的可见性需求会影响 API 级别的可见性要求,观察 API 用户需求和提供者实践,能让宏观环境适应新的可见性需求。
随着可见性成熟,API 会更好地适应宏观环境。此时,将 API 的“辅助宏观环境”部分与功能部分分离可能成为一种模式。若“辅助宏观环境”部分仅限宏观环境工具使用,还需有强大的漏洞处理措施。
可见性成熟策略要求 API 有用且可被发现,为对宏观环境有用,需提高部分信息的可见性。API 宏观环境中的问题应引发思考:“哪些信息有助于解决该问题?”若对 API 或宏观环境的可见性有影响,应更新指导(为 API 添加可见性)或更新宏观环境工具(为宏观环境添加可见性)。
2. 版本控制
API 产品快速响应反馈或不断变化的需求的能力(即速度)是转向 API 宏观环境的重要动力,而版本控制是其中不可避免的部分,每次 API 产品变更都会产生新版本。不过,并非每次版本号变化都要求消费者采取行动或知晓,如小版本号增加表示向后兼容的更改,补丁级版本号增加表示接口无变化。但管理版本控制过程以减少对宏观环境的负面影响至关重要,确保速度不受不必要的影响。
版本控制适用于所有风