原标题:如何用用Python 函数库 APIs 编写?指南针在这里
本篇文章基于 2017 PyCon 大会上的演讲:How to make a good library API。列出对于构建 Python 库 API 有用的建议清单。
简洁性
在 README 文件中写入简单的客户端代码。
例如:Pendulum 的 README文件就是以简单的用户代码开始的。
减少冗余的代码:数一数从第一行开始到你真正调用 API 函数的行数。
例如: 与 Request 库相比,进行 HTTP 请求时 urllib2 库就很多的冗余代码。
使用案例
例如: 这个网页展示的内容:https://python-social-auth-docs.readthedocs.io/en/latest/use_cases.html
在实践中逐步完善:实用且明智的缺省值设置
- 具有缺省设置,并根据最常用的使用情况来设置缺省值。
- 设置参数位置,将最常用的参数放在前面,将相似的放在一起。例如: Java 的history.pushState函数的默认参数顺序是: state, title, URL。然而很多用户仅仅想要将 URL 添加进历史值中,但是实际的情况却迫使他们不得不设置 state 与 title 参数的值。
不要将源代码片段复制粘贴进你的 API 中。
避免麻烦的输入:
- 检查是否存在参数名歧义的情况。例如在 Scrapy 1.2 中,send 方法有一个to参数,接收的是字符串列表。如果用户传入一个字符串,这个方法就会遍历这个字符串,并将每个字符当做一个邮箱地址并发送邮