一、优秀的API具有哪些特征:
1、易学易记;
2、可读性高;
3、不容易用错;
4、容易扩展;
5、具有完整性:用户通过API能去做想做的事情,但是这是比较困难的。即便如此,至少也应该方便扩展和定制化(例如通过继承等等)。当然,设计一个完整的API这可能需要一个过程,但起码得保证有一个清晰的设计思路,或者在朝着正确的方向迈出的一步,因为并不是每一个API从最开始就是很完美的。
二、设计过程
1、了解需求
在
设计
或
实现
一个API之前
,你应该有一个
good idea
of the requirements。
有时,
需求
相当明确
,但
在大多数情况下
,您将
需要
梳理并分析
这些需求
。
一个
很好的着手点
是让
尽可能多的人
知道
(
尤其
是
你的老板
,你的同事,
和潜在用户
)
他们
想
要看到
的特性
。
2、开始写任何代码前先描述用例
在写代码的时候,一个最常见的错误
是
先实现
功能
,
然后再设计
API
,
并
最终
发布API
。用例反应需求,首先考虑做什么,然后才是考虑怎么做。在设计API时,不要去考虑实现的过程有多么复杂,而是去考虑是否能满足用户的需求和体验。
3、在同一个库中查找类似的API
在一个库中有多个API实现相同或者相近的功能是一件很糟糕的事情。
4、在实现API之前请先定义他
同开始写任何代码前请先描述用例一样。当我们在实现API之前也请先定义这个API。
5、让你的同事review你的API
6、写几个API的例子
7、准备用于扩展
8、不要发布未经过review的内部API
9、如果你对你的API存在疑问或者顾虑,请不要发布,或者标记为内部API或者稍后再重新思考
三、设计指南
1、观其名而知其意
2、名称不要有二义性,即使没有参考API的文档的前提下
3、不要让不相近的API,让人感觉他们相近——提防虚假的一致性
4、避免缩写
5、选择一个好的默认值
6、避免你的API过度智能
7、注意边缘的场景
8、The best API is no API
分享到:
相关推荐
《C++ API设计》探索了常常被忽视的技术性和非技术性问题,有助于推动成功的设计决策,从而产生高质量的、健壮的而且可以长期使用的API。” ——Eric Gregory,Pixar动画工作室软件架构师 “《C++ API设计》面向中...
【C++ API设计教程代码】是一份专注于C++应用程序接口(API)设计的教程资源,包含了一系列相关的代码示例和文档。这个压缩包文件提供的内容可能涵盖了从基础概念到高级设计模式,以及文档编写和项目配置等多个方面...
《ASP.NET+Web+API设计》是美国作者布洛克撰写的一本深度探讨ASP.NET Web API开发的专业书籍。这本书详尽地介绍了如何利用ASP.NET框架构建高效、可扩展且易于维护的Web服务。Web API是微软为.NET Framework提供的一...
C++ API设计.pdf
### RESTful API设计规范详解 #### 一、RESTful简介 RESTful是一种广泛应用于Web服务的设计风格,全称为Representational State Transfer(表述性状态转移)。它并非一项具体的技术标准,而是一系列设计原则和约束...
在API设计领域,确保最佳实践的关键在于理解和适应各种场景,因为每个API都有其特定的应用环境。API设计不仅是技术实现的问题,更是人与人之间沟通的桥梁。本文将探讨API设计的一些核心准则,以帮助创建出易于理解、...
Java API设计是一个重要的主题,它关乎到软件开发的可维护性、可扩展性和易用性。API(Application Programming Interface)是一组预定义的函数、类、接口和常量,允许开发者通过调用这些元素来实现特定功能,而无需...
《c++ api设计》适合具有一定c++ 编程经验的程序员阅读,也适合对api 设计主题感兴趣的读者参考。 现代软件开发中的一大难题就是如何编写优质的api。api负责为某个组件提供逻辑接口并隐藏该模块的内部细节。多数...
基于 RESTful 架构的 API 设计原则和规范 RESTful 架构是目前最流行的一种互联网软件架构,它结构清晰、符合标准、易于理解、扩展方便,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。因此...
C++ API设计是一门深奥且重要的技术,它关乎到软件的可维护性、扩展性和易用性。在本文中,我们将深入探讨C++ API设计的关键要素,包括接口设计原则、命名规范、错误处理机制、封装策略以及面向对象特性在API设计中...
### RESTful-API设计原则与规范 #### 一、背景与基础概念 RESTful架构作为一种流行的互联网软件架构,因其结构清晰、符合标准、易于理解和扩展等特点而受到广泛青睐。REST(Representational State Transfer)的...
API 设计规范 在 Java API 设计中,遵循一定的规范和最佳实践是非常重要的。本文将详细介绍 API 设计规范中的重要知识点,涵盖包设计、命名、文档、Java 类设计等方面。 包设计 在设计 API 包时,需要注意以下几...
《Java 2 安全技术-结构,API设计和实现》是针对Java编程语言中安全性这一重要主题的深度解析。这本书详细介绍了Java 2平台的安全架构、API的设计原则以及其实现机制,对于开发者来说,是深入理解Java安全性的宝贵...
C++API设计一书的源代码即: This package contains the C++ source code examples from the book "API Design for C++" by Martin Reddy.
API 接口设计规范 API 接口设计规范是一组标准化的规则和约定,旨在规范 API 接口的开发和使用。该规范涵盖了 API 接口的设计、实现、测试和维护等方面,旨在提高 API 接口的质量、可维护性和可扩展性。 API 接口...
### API设计实战——Java框架架构师的实践经验 #### 一、引言 《API设计实战》(Practical API Design: Confessions of a Java Framework Architect)是一本由Java领域经验丰富的专家Jaroslav Tulach撰写的著作。...
《ASP.NET Web API设计》依托ASP.NET Web API阐述API设计与开发的通用技术,是一本全面介绍如何构建真实可演化API的实践指南。本书共分三部分。第一部分介绍Web/HTTP和API开发的基础知识,介绍ASP.NET Web API,为...