如何判断一个 API 是否优秀?
2020-12-21 15:15:48 阅读(195) 评论(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的基础上包装,提供功能更丰富的包或类别
推荐阅读
- 电商平台代运营要有6个规划,才叫专业,才能选择它
社会发展、互联网发展,迎来的是人们生活方式的改变,企业经营模式的改变。个人在开网店、商家在开网店、企业在开网店,网店数量一直在增加,与此同时电商平台代运营公司也在急速增加。 图片来源于网络 电商平台代运营公司的出现,是为了帮助开网店的个人、…查看详情
- 优质营销短信:格式规范、商业化、时间化
短信营销是当下宣传效果比较好、成本较低的一种推广方式,同时也受到很多中小型的青睐。优质营销短信不仅切合流量发展的大市场方向,为企业和消费者层面创造更好的体验。企业通过不断对短信内容进行解析升级,创造出优质营销短信,让用户一目了然,部分情景增…查看详情
- 微信小程序申请步骤
如何注册申请微信小程序? 1、微信小程序注册在微信公众平台官网首页,按照提示点击右上角的“立即注册”按钮,里面总过有12步,按照要求提交就可以了。 2、小程序申请微信认证政府、媒体、其他组织类型帐号,必须通过微信认证验证主体身份。企…查看详情
- ug是什么软件
UG是用来干什么的?UG软件主要功能是将原有2维平面制图拓展至三维立体制图的软件,主要是迅速帮助设计加工等人员认知产品结构,还可向下生成2维图纸并标注细节尺寸、表面要求、技术要求等。相同类型软件有pro/E,solidworks,CATIA…查看详情
- 文件恢复软件哪个靠谱呢?你选对了吗?
现在的人们通常都会使用手机或者是电脑去办公,但难免会出现误删的情况,让自己的辛苦付之东流。其实文件丢失了不用担心,可以通过文件恢复软件来成功找回,但作为电脑的菜鸟,怎样选择合适的软件,就成为了人们较为关注的问题,那么文件恢复软件…查看详情
- 2022年免费有效的推广平台有哪些
最近几年对于企业做推广来说难度是越来越大,下面万商云集小编就给大家来推荐下2022年免费有效的推广平台有哪些,希望能帮助到大家。 那曾经有哪些属于红利期的营销玩法和渠道?读完这篇文章你能了解到: 1、互联网营销该怎么做? 2、怎么…查看详情
- 谷歌镜像是什么意思?有什么作用?
谷歌镜像(Google Mirror)是指对谷歌搜索引擎的镜像站点,也就是把原来的谷歌网站内容(包括搜索结果、谷歌应用程序等)做了一个完全的备份,用户可以通过访问谷歌镜像站点来获取Google搜索结果或使用Google的其他应用程序。…查看详情
- 注册商标能一样吗?可在不同类别注册相同商标
在这个商标注册成功一天比一天难的今天,在这个最容易因商标相似或相同而被驳回的今天,注册商标能一样吗?答案是,能。具体为什么可以参考《商标法》中的规定。 图片来源于网络 注册商标能一样吗?我国《商标法》规定:同他人在同一种商品或者类似商品上已…查看详情
- 微信公众号怎么开通 微信公众号开通方法
现在微信公众号也成为了很多企业引流推广营销的一个阵营,但是对于新手来说微信公众号都不知道怎么注册,下面万商云集小编就给大家来介绍下信公众号开通方法。 第一步:4步完成微信公众号怎么创建 1、打开网页搜索并登录微信公众号平台,在页面的右上方…查看详情
- 跨境电商自建站平台有哪些
如果企业想要得到更好的推广,那么建设网站就是首选。每一家企业所销售的产品是不一样的,有些企业是属于跨境电商,那么在进行网站建设的时候,就应该要注意选择一些比较不错的自建站平台。那么跨境电商自建站平台有哪些呢?这个问题一定是很多的…查看详情
- 全球范围内好用的个人管理软件详情介绍
在中国,我们更多地接触个人时间管理软件或库存软件。然而,很少有用户知道个人信息管理软件。个人信息管理软件的英文名称是pe1onalinformatiomanagement(个人信息管理),简称PIM,它用于管理我们日常生活中的许…查看详情
- 初级会计刷题软件哪个比较好?冬奥会计云课堂好用吗?
根据网上数据显示和综合个人的经历。我比较推荐东奥“会计云课堂”,一款集资讯、学习、商城为一体的移动学习应用产品,给各位考生更优质的课程体验和服务。初级会计刷题软件哪个比较好?备受关注的冬奥会计云课堂好用吗? 冬奥会计云课堂的功能? 有三种形…查看详情
- 视频去马赛克软件有哪些 好用的视频去马赛克软件
现在属于自媒体时代,很多的小伙伴也选择自媒体创业,这个时候视频处理就是很麻烦的事情了,很多的视频会带上马赛克的,下面万商云集小编给大家来详细介绍一下视频去马赛克软件有哪些 好用的视频去马赛克软件这一块的内容。希望能帮助到大家,。 1.完美…查看详情
- 矿泉水品牌有哪些 2022矿泉水品牌排名
随着中国经济社会的发展,人们生活水平的提高,人们消费的品牌意识越来越强。重视品牌,反映了消费者生活理念的转变。同质同价的矿泉水,消费者更青睐品牌产品。那么国内知名常见的饮用矿泉水中,下面万商云集小编给大家来详细介绍一下矿泉水品牌有哪些 …查看详情
猜你喜欢
最新文章
扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线: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
企业首选的数字选用平台