如何判断一个 API 是否优秀?
2020-12-21 15:15:48 阅读(206) 评论(0)
到目前为止,我们已经负责API近两年了。在过去的两年里,我们发现现有的API存在越来越多的问题,但许多API一旦发布就无法修改,需要立即升级和维护。一旦API发生变化,可能会给相关调用器带来巨大的成本。用户需要调查所有调用代码和所有相关部件,这对他们来说是额外的。如果你在努力完成这些工作后发现了相关的bug,对用户的打击会更大。如果API经常发生变化,用户将对提供商失去信心,从而影响当前业务。但是为什么要修改API呢?为API看起来更漂亮?为了提供更多的功能?为提供更好的性能?还是觉得是时候改变了?对于用户来说,他们更喜欢使用稳定但不那么时尚的API,这并不意味着我们不再改进API。当糟糕的API带来越来越多的维护成本时,我认为是时候重构它了。如果我能回头再做一遍,那么我心目中优秀的API应该是什么呢?判断一个API是否优秀,不仅仅是根据第一个版本来判断,而是看API是否还能随着时间的推移而存在,是否还能保持良好。槽糕有各种各样的API接口,但对于用户来说,好的API接口必须满足以下几点:易于学习:有完善的文档,提供尽可能多的示例和可复制-与其他设计工作一样,paste的代码应该应用最小惊喜原则。易于使用:没有复杂的程序,复杂的细节,易于学习;灵活的API允许按字段排序、自定义页面、排序和筛选。一个完整的API意味着包含所有预期的功能。难误用:对于详细的错误提示,一些有经验的用户可以直接使用API而无需阅读文档。对于开发人员来说,要求是不同的:易于阅读:编写代码只需要一次,但在调试或修改时需要阅读代码。易于开发:最小接口是使用尽可能少的类和尽可能少的类成员。这使得更容易理解、记忆、调试和改变API。如何做到以上几点,以下是一些总结:1、 如果一个API被广泛使用,就不可能了解所有使用API的用户。如果设计师想要设计广泛使用的API,他们必须从用户的角度来理解如何设计API库,以及如何设计这样的API库。2、 在设计过程中采用良好的设计理念,如果能以下方式设计,将使API生命更长,收集用户建议,模拟用户,确保API设计易于使用,合理确保后续需求可以扩展完成第一版尽可能少的内容,因为新需求可以扩展,因此,尽量少做事是抑制API设计错误的有效方案,提供清晰的API和文档规范,避免用户错误使用API,特别是用户知道和误用API(见第一节),以下还列出了一些具体的设计方法:方法优于属性工厂方法优于结构函数,避免过度继承,避免API面向接口编程扩展参数的优化或重用代码,应方便组件的合理定位,确定有多少接口提供扩展点3、 在设计API时,一定要避免极端意见,特别是以下几点:必须是美丽的(API不一定是美丽的)API必须正确使用(用户很难理解如何正确使用API,API设计师应该充分考虑API的误用:如果API可能被误用,那么它将被误用)必须是简单的(我们总是面临复杂的需求,两者兼顾的API是更好的API)必须具有绝对兼容性(性能可以通过其他方式优化,不应影响API的设计)(虽然本文一直提到如何保证兼容性,但我们仍然需要意识到,在某些情况下,不兼容性是可以容忍的)4、 API设计完成后,需要对API进行有效的评审,评审的重点如下:用例驱动,评审前必须提供完善的用例,以保证用例的合理性和完整性。系统中其他模块的接口风格是否一致,对称接口的设计是否一致。一致性,是否与系统中其他模块的接口风格和对称接口的设计一致。简单明了,API要简单易懂,容易学习和使用的API不容易被误用,给我们带来更多的麻烦。API应该尽可能少。如果API可以暴露或不暴露,不要暴露他。当用户真正需要它时,成为一个开放接口还不算晚。支持持续改进,API能否通过扩展方式轻松增加功能和优化。5、 提高API的可测试API需要进行测试,测试不应依赖于实现。充分测试的API,特别是经过严格的“兼容性集成测试”的API,可以确保在升级过程中没有兼容性问题。兼容性整合测试是指从用户的角度使用API的一组测试用例集。API升级后,检测这组测试用例是否能完全满足预期,并尽可能发现兼容性问题。6、 对于每个API设计师来说,确保API的向后兼容性都渴望实现“向后兼容性”,因为当前的API用户和潜在的API用户都只相信那些可兼容的API。但向后兼容有多层次的意义,不同层次的向后兼容也意味着不同的重要性和复杂性。7、 为了逐步改进过去,我们总是希望完全推翻现有的“不合理”设计,然后根据当前的“美丽”想法重新设计API,但一段时间后,我们会遇到同样的情况,需要再次推翻。如果没有有效的逐步改进方法,依靠推翻现有设计,重新设计API只能让我们回到起点,重现之前的过程。在API兼容的同时,要有一套有效的持续改进方法,改进API,使之更好。8、 把握API的生命周期。每个API都有一个生命周期。我们需要延长API的生命周期,并在API的生命周期结束时平稳地消亡。告诉用户我们是如何设计的,避免误用,并提供指导。错误的使用通常是缩短API使用寿命的主要杀手提供试用期。API一开始不可能是稳定的。只有经过试验,API才能有更强的生命力来对API进行分类:内部使用;二次开发和使用;在开发或试验过程中;稳定性;放弃API。在避免滥用API的同时,我们可以通过调整API水平来扩大其影响力,更优雅地结束API的生命周期。API开发的过程其实是一个沟通的过程。双方的沟通是API用户和API设计师。9、 当API不可避免地消亡或改变时,我们应该接受并面对这一事实。以下是在保证兼容性的前提下调整API的几种方法:将API标记为弃用,重建新的API。如果API不可避免地消亡,这是唯一的办法。添加额外的参数或参数选项来实现功能添加,将现有的API分成两部分,并提供一个简化的核心API,通过包装核心API实现过去的API。这通常用于解决用户需要精简代码的版本。在现有API的基础上包装,提供功能更丰富的包或类别
推荐阅读
- 系统窗跟断桥铝的区别
系统窗和断桥铝是两种常见的窗户结构,它们在构造和性能方面存在一些区别。1. 构造材料:系统窗:系统窗通常由塑料(PVC)或铝合金制成。PVC系统窗使用聚氯乙烯制成的塑料型材,具有良好的隔热和防水性能。铝合金系统窗使用铝型材,具有较高的强度和…查看详情
- 小程序开发成本一般需要多少钱?小程序怎么收费?
小程序的开发其实是非常关键的,对技术人员的要求也比较高,现在很多的人都特别喜欢使用小程序来搜索东西,所以说很多的企业也都会建立微信公众号小程序,这样能够得到很好的推广,而且还能够吸引很多的浏览量,但是在进行小程序开发的时候,关于…查看详情
- 注册公司需要避免的坑
如何避免公司注册中的一些风险呢? 在公司注册时,其实有很多陷阱,一个不小心可能就会掉进去,费时又费力。那么,怎样才能尽可能少走一些弯路呢?这就需要从以下几个方面着手: 1、在给公司起名字时,不能胡乱起,想到什么是什么,一家公司想要发…查看详情
- 六大良心回合制网页游戏排行榜,摸鱼必备
无论是在工作中还是学习中,我们在摸鱼的时候总会不知道做什么,但有的人就知道让自己放松一下,比如就像我们今天要说的回合制网页游戏排行榜,在网页中打开可以自由打开,自由关闭,就算领导来了直接一个快捷键就没了,走了之后在打开,做到悄无人息。1、仙…查看详情
- 企业员工考勤管理系统实用吗?有哪些好处呢?
对于企业来说,在管理员工考勤方面需要有相关的政策,更要是有计划和合理性实施的,而现在市场中,也有很多企业员工考勤管理的系统可供使用,这样在考勤方面的管理自然就更加的专业有效,同时也起到了一定的监督作用,那么到底企业员工考勤管理系…查看详情
- 申请的版权登记级别不同,对应费用和效力也不同,是真的吗?
网络上流传说版权登记有级别差异,申请的版权登记等级不同,对应的登记费用和证件效力也不同,真的是这样吗?那么具体的版权登记级别有哪些?是什么划分的呢?图片来源于网络真相是,版权可以在地方的版权管理部门进行办理登记,也可以在国家的版权中心进行办…查看详情
- 2021最新采购管理系统十大排名
科技在发展,商贸走向系统化,采购作为商贸公司比较重要的一环,对车间生产、仓储、进货品质、销售、供应商等都有紧密的关联,所以采购也走向科技化也是尤为重要的。伴随着近几年互联网行业的迅速发展,企业上的数字化管理也早已见怪不怪,本篇2021最新采…查看详情
- 浮点数是什么意思?
浮点数表示方法?一个浮点数a由两个数m和e来表示:a=m×b^e。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的…查看详情
- 一款值得推荐的文档管理系统
公司职员在日常办公过程中经常遇到的情况,就是文件、报表以及各种材料到处乱放。而且随着信息水平的不断提高,越来越多的文件都被转换成电子版本来保存。但还是很容易出现文件随意存放,一时找不到存放位置的情况。相对于纸上的文件,同样杂乱无章。这时,对…查看详情
- caj阅读器目录不见了怎么找
CAJ阅读器是一种常用的电子文献阅读工具,它可以方便地访问和阅读CAJ格式的学术期刊、学位论文等文献资源。然而,有时候用户可能会遇到CAJ阅读器目录不见的情况,导致无法快速定位和浏览文档中的内容。下面将介绍一些解决该问题的方法。 方法一:检…查看详情
- 怎么在淘宝上卖东西
在淘宝上卖东西是一种非常流行的电商销售方式。如果你打算在淘宝上卖东西,可以通过以下几个步骤: 一、选好商品 淘宝上面有什么样的商品可以卖呢?基本上什么都可以卖,包括服装、鞋子、休闲娱乐、食品、家居用品等等。在选择商品的时候,要注意以…查看详情
- 如何判断小程序定制开发公司是否专业?
有小程序定制开发需求的企业很多,市场上小程序定制开发公司也很多。因此,企业在寻找小程序定制开发公司合作时,就会面临因公司太多、不知道哪些专业而难以抉择的情况。那么今天小万就教大家如何判断小程序定制开发公司是否专业。图片来源于网络 小程序定制…查看详情
- php如何将word转swf
word转换成swf格式时顺序变了?步骤一:我们需要先安装FlashPaper这款软件。其实说是插件更贴切。因为它基本上没有软件界面的。 word怎么转为swf格式 步骤二:安装好以后,它会集成到word编辑器中。 步骤三…查看详情
- 网站建设平台有哪些?
网站建设平台是指一个提供网站建设服务的在线工具,它可以帮助用户快速、简便地创建自己的网站。这种类型的平台通常是基于云计算技术的,用户可以在云端访问到各种网站开发工具,从而轻松地创建自己的网站。 网站建设平台通常具有以下特点: 1. …查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121

关注微信公众号
和10万中小企业共同成长

扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有
蜀ICP备12001963号-2
川公网安备 51010402000322号

快速找产品

找一找哪款产品适合您?
咨询热线:400-0033-166
-


-
电话沟通
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达

关注万商云集
和10万中小企共成长

TOP

企业首选的数字选用平台

400-0033-166
8:30-18:00















































注册有好礼



