如何设计组件的API

出现这个问题是因为我在排查 Toast 组的代码中, 发现现在的 API 调用感觉不够清晰, 有点像老奶奶的裹脚布一样长, 想修改但是不知道如何改.

这里参看了很多相同组件的 API 设计, 百花齐放, 我也不知道该怎么办了.

这里找了一篇文章说的挺好: 如何设计一个优秀的 API , 可以参考下!

原则

对于用户:

  1. 易学习:有完善的文档及提供尽可能多的示例和可 copy-paste 的代码,像其他设计工作一样,你应该应用最小惊讶原则。
  2. 易使用:没有复杂的程序、复杂的细节,易于学习;灵活的 API 允许按字段排序、可自定义分页、 排序和筛选等。一个完整的 API 意味着被期望的功能都包含在内。
  3. 难误用:对详细的错误提示,有些经验的用户可以直接使用 API 而不需要阅读文档。

对于开发者:

  1. 易阅读:代码的编写只需要一次一次,但是当调试或者修改的时候都需要对代码进行阅读。
  2. 易开发:个最小化的接口是使用尽可能少的类以及尽可能少的类成员。这样使得理解、记忆、调试以及改变 API 更容易。

开发

  1. 站在用户的角度
  2. 后续的需求能拓展
  3. 尽量少的做事儿是抑制 API 设计错误的有效方案
  4. 对外文档清晰和规范,
  5. 方法优于属性
  6. 工厂方法优于构造函数
  7. 避免过多继承
  8. 避免由于优化或者复用代码影响 API
  9. 面向接口编程
  10. 扩展参数应当是便利的
  11. 对组件进行合理定位,确定暴露多少接口
  12. 提供扩展点
Show Comments