没有被了解的API?一个老码农眼中的API世界 | IDCF
DevOps
共 16361字,需浏览 33分钟
·
2020-11-05 23:30
内容来源:喔家ArchiSelf 作者:半吊子全栈工匠 【附】点击“阅读原文”可下载完整《中国API生态与开发者现状调研报告(2020年)》
API(Application Programming Interface,应用编程接口)是一些预先定义的函数,或软件系统不同组成部分之间的衔接约定。API 提供了基于软件或硬件得以访问一组例程的能力,而无需使用源代码,也无需理解其内部的工作机制。
一、无所不在,API 的空间视角
二、良好与糟糕,API 的面目
三、API 设计的经验性原则
抛出 VariableNotSet 异常 返回 null 返回空字符串
四、性能约定,API的时间视角
恒定的性能
通常的性能
可预期的性能
未知的性能
快速失败。一个API调用很快就失败了,和它的正常行为一样快或者更快。例如,调用 sqrt (- 1)会很快失败。即使当一个 malloc 调用因为没有更多的内存可用而失败时,这个调用也应该像任何 malloc 调用一样快速地返回,因为后者必须从操作系统请求更多的内存。为了读取一个不存在的磁盘文件而打开一个流的调用很可能与成功调用返回的速度一样快。 慢慢失败。有时,一个API调用失败的速度非常慢,以至于应用程序可能希望以其他方式进行。例如,打开到另一台计算机的网络连接请求只有在几次长时间超时后才会失败。 永远失败。有时候一个API调用只是暂停,根本不允许应用程序继续运行。例如,其实现等待从未释放的同步锁的调用可能永远不会返回。
五、确保API 性能的经验性方法
六、面对API,开发者的苦恼
七、API设计中的文化认知
评论