API是现代软件的结缔组织。设计得好,团队就能快速推进,集成变得轻松,系统自然扩展。设计得不好,每个新功能都需要一次会议,每个集成都是一个定制项目,系统变成了各种变通方案的蛛蛛网。
我们见过的最优秀的API都有几个共同特点:一致的命名、可预测的行为、清晰的错误信息,以及从第一天就开始的版本控制。它们是为消费API的开发者设计的,而不是为构建API的开发者设计的。这种视角的转变带来了天壤之别。
版本控制不是可选项
每个API都会变化。问题在于这些变化是否会破坏现有消费者的使用。版本控制让你能够在不强制所有人同时升级的情况下演进API。这在前期需要更多工作,但这正是一个能够持续成长的平台与一个因为没人敢冒险更新而停滞不前的平台之间的区别。



