“Opinionated API”的意思是什么?

9
我在阅读有关Python 3.4引入的ssl.create_default_context()函数时,遇到了“Opinionated API”这个术语,它是什么意思?这种API的风格是什么样的?为什么我们要称之为“有主见的API”?
非常感谢。
1个回答

19
这意味着API的创建者为您做出了一些选择,认为这些选择是最好的。例如,Web应用程序框架可以选择与一组低级库(例如日志记录、数据库访问、会话管理)最佳配合工作,甚至捆绑或仅与其工作,而不是让您选择(然后必须配置)自己的库。
在`ssl.create_default_context`的情况下,一些安全专家考虑到了配置SSL连接的合理安全默认值。特别地,它将可用算法限制为仍被认为是安全的算法,以换取与遗留系统完全兼容性的牺牲,这是他们(和我的)意见中有益的权衡。
基本上,他们的意思是“我们在这个领域有很多经验,我们真的认为您应该按照以下方式执行操作”。
我想这是对“企业”API的回应,这些API声称可以与尽可能多的标准接口实现配合工作(以配置和组合的复杂性为代价,需要昂贵的顾问来设置所有内容)。
或者是“约定优于配置”的自然延伸。
事情应该非常顺利地开箱即用,这样您只需要在特殊情况下调整专家设置(那时您应该知道自己在做什么),而不是让初学者对应用程序的每个方面做出明智决策(这可能会导致灾难)。

不错的回答。对我来说,这是谷歌搜索结果第10页(第一页);-) - Terry Jan Reedy
非常好的回答!非常感谢@@ - clasnake

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接