API:
好的方法、类和成员命名使 API 能够阐明自身的意义。但无论 API 多好,没有好的文档就无法被使用。这就是每个 public 的元素——方法,类,域,参数——应当用文档说明的原因。对于你,一个 API 开发者来说简单易见的东西,也许对于你的 API 用户来说就不那么容易和显然了。
示例代码应该是模范代码
API:
示例代码有若干用途:他们帮助用户理解 API 的目的,用途,以及上下文。
代码片段
用于解释如何使用基本的 API 功能。
教程
教用户关于 API 特定层面的知识。
代码示例
是更加复杂的例子,通常是一整个应用。这三者之中,缺少代码示例会引起最严重的问题,因为开发者看不到整体图景——你所有的方法和类是如何协作的,以及它们是如何与系统协作的。
如果你的 API 流行起来了,有可能会有数以千计的开发者使用这些例子。他们将会成为如何使用你的 API 的例子。因此,你犯的每个错误都会让你自食其果。
这些年,我们学习了很多关于 UI 可用性的知识;我们知道用户们需要什么,以及他们在想什么。他们需要符合直觉、高效、正确的 UI,并且要能帮助他们用合适的方式完成特定任务。这些概念都不止于 UI,还适用于 API,因为开发者也是用户。所以,让我们通过可用的 API 帮助他们(也是帮助我们自己)吧。
Myers, B. A., & Stylos, J. (2016). Improving API usability.
Communications of the ACM
, 59(6), 62–69.
PDF
Bloch, J. (2006). How to design a good API and why it matters.
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
. ACM.
PDF
Ellis, B., Stylos, J., & Myers, B. (2007). The factory pattern in API design: A usability evaluation.
Proceedings of the 29th international conference on Software Engineering
. IEEE Computer Society.
PDF
Robillard, M. P. (2009). What makes APIs hard to learn? Answers from developers.
Software, IEEE
,
26
(6), 27–34.
PDF
Scheller, T., & Kühn, E. (2015). Automated measurement of API usability: The API Concepts Framework.
Information and Software Technology
,
61
, 145–162.
PDF