是啥让 API 变得“丰富”? [关闭]

Posted

技术标签:

【中文标题】是啥让 API 变得“丰富”? [关闭]【英文标题】:What makes an API 'rich'? [closed]是什么让 API 变得“丰富”? [关闭] 【发布时间】:2017-05-23 04:13:33 【问题描述】:

所以我在进行一场对话,突然想到——什么是“丰富的”API?什么是“糟糕”的 API?这是一个经常被抛出的术语,几乎感觉它可能是营销演讲,我想知道它是否真的具有某种编程含义,例如“RESTful API”。

【问题讨论】:

这可能在softwareengineering.stackexchange.com上问得更好 @MathiasR.Jessen 我可以看到你的论点,如果“富有”不是可以具体回答的问题。我将它与 RESTful API 进行比较,后者可以在 this 站点的上下文中定义。 @MathiasR.Jessen 不,那里不适合,原因与这里不适合。推荐阅读:What goes on Software Engineering (previously known as Programmers)? A guide for Stack Overflow 【参考方案1】:

首先,这个问题对于 *** 来说可能过于宽泛,而且答案相当主观。

我认为“丰富”的 API 并没有严格的定义,它确实可能是营销演讲。 “丰富”API 的反义词不是“穷”,而是“极简”。

例如,假设您正在构建一个用于逻辑计算的 API。理论上,只包含一个函数 NAND(a,b) 的 API 足以执行任何可能的逻辑计算。您可以用 NAND 表示所有其他逻辑操作,例如AND(a,b) = NAND(NAND(a,b), NAND(a,b)),但它会非常麻烦并且可能效率低下。所以,单一功能的 NAND API 就足够了,但绝对不够丰富。除了 NAND 之外,丰富的 API 还可以定义诸如 OR(a,b)、AND(a,b) 和 XOR(a,b) 之类的东西,也许还有其他一些东西。

【讨论】:

以上是关于是啥让 API 变得“丰富”? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

是啥让 SPI 比 I2C 协议更快 [关闭]

是啥让 cuLaunchKernel 因 CUDA_ERROR_INVALID_HANDLE 而失败?

API 的具体含义是啥? [关闭]

完全禁用任务管理器的 Win32 API 是啥? [关闭]

Stripe PHP API 方法响应的结构是啥? [关闭]

保护 REST API 的最佳方式是啥? [关闭]