没有被知晓的API 一个老码农眼中的API世界
发布时间:2022-07-12 09:05:59 所属栏目:安全 来源:互联网
导读:即便做了20多年的软件开发,仍然发现自己经常会低估完成一个特定的编程任务所需要的时间。有时,错误的时间表是由于自己的能力不足造成的:当深入研究一个问题时,会发现它比最初想象的要难得多,因此解决这个问题需要更长的时间ーー这就是程序员的生活。 1
即便做了20多年的软件开发,仍然发现自己经常会低估完成一个特定的编程任务所需要的时间。有时,错误的时间表是由于自己的能力不足造成的:当深入研究一个问题时,会发现它比最初想象的要难得多,因此解决这个问题需要更长的时间ーー这就是程序员的生活。 1 无所不在,API 的空间视角 2 良好与糟糕,API 的真面目 3 API 设计的经验性原则 3.1 功能的完整性 3.2 调用的简单性 3.3 设计的场景化 3.4 有无策略性的设置 3.5 面向用户的设计 3.6 推卸责任源于无知 3.7 清晰的文档化 3.8 API的人体工程学 4 性能约定,API的时间视角 4.1 API的性能分类 4.2 按性能规划API 4.3 API的性能变化 4.4 API调用失败时的性能 5 确保API 性能的经验性方法 5.1 谨慎地选择API 和程序结构 5.2 在新版本发布时提供一致的性能约定 5.3 防御性编程可以提供帮助 5.4 API 公开的参数调优 5.5 测量性能以验证假设 5.6 使用日志检测和记录异常 6 面对API,开发者的苦恼 6.1 没有 API 6.2 繁琐的注册 6.3 多收费的API 6.4 隐藏 API 文档 6.5 糟糕的私有协议 6.6 单一的 API 密钥 6.7 手动维护文档 6.8 忽略运维环境 6.9 非幂等性 7 API 设计中的文化认知 7.1 API意识的训练 7.2 API设计人才的流失 7.3 开放与控制 个人认为,现在所普遍使用的API 与二十年前C语言编写的API 并没有本质的不同。关于API的设计,似乎有些难以捉摸的东西。 拿起显微镜,如果Rest API 面向的是网络通信,可以想把空间限制在单机上。一台主机上的IPC同样由各种各样的API组成,而一切代码的执行都会归结到系统调用上来,操作系统提供的系统调用同样是API。走进操作系统,走进函数指针的API,调整显微镜的镜头,API 可能体现在Jump 指令上,在深入就会进入电路与系统的领域了。 抬起望远镜,感谢通信与网络技术的发展,一切软件都几乎演变成了分布式系统。API 成为了分布式系统中的血管和关节,Restful API 只是 RPC的一种。节点内子系统之间的API通信往往形成了东西流量,节点间子系统之间的API通信形成了南北流量。调整显微镜的镜头,这个系统通过开放平台提供了API,逐渐形成了生态系统。生态系统间的异构API正在随着网络世界的延伸而形成新的世界。 ![]() (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |