相关疑难解决方法(0)

你如何定义好的或坏的API?

背景:

我正在我的大学上课,名为"软件约束".在第一次讲座中,我们学习了如何构建优秀的API.

我们得到一个非常糟糕的API函数的一个很好的例子是public static void Select(IList checkRead, IList checkWrite, IList checkError, int microseconds);C#中的套接字.该函数接收3个套接字列表,并销毁它们,使得用户必须克隆所有套接字才能将它们送入Select().它还有一个超时(以微秒为单位),它是一个int,用于设置服务器等待套接字的最长时间.这个限制是+/- 35分钟(因为它是一个int).


问题:

  1. 你如何将API定义为"坏"?
  2. 你如何将API定义为"好"?

需要考虑的要点:

  • 难以记住的函数名称.
  • 功能参数很难理解.
  • 文档不好.
  • 一切都是如此相互关联,如果你需要更改1行代码,你实际上需要在其他地方更改数百行.
  • 破坏其论点的函数.
  • 由于"隐藏"的复杂性导致可扩展性差.
  • 用户/ dev需要围绕API构建包装器以便可以使用它.

api api-design

61
推荐指数
7
解决办法
2万
查看次数

标签 统计

api ×1

api-design ×1