设计优良的API

 

http://www.infoq.com/cn/news/2007/09/why-api-design-matters

infoQ上的这篇文章“API设计的“不可承受之轻””,我感觉非常好。

1. 他分析了优良的api设计的必要性。越底层的api影响的范围越大,也就越需要良好的设计。

2. 不良api设计的例子,select()方法。

3. 优良设计的注意事项:

  • API必须要提供充分的功能,以供调用者完成自己的任务。
  • API应该是最精简的,不要为调用者带来多余的不便。
  • 如果没有理解API的使用环境的话,那也就不能去设计它。
  • 通用性的API应当是与具体使用场景无关的,而特定用途的API则要充分考虑使用策略。
  • API应该从调用者的角度来进行设计。
  • 好的API绝不推卸责任,把自己该做的事情不要留给别人。
  • 在实现API之前,就应该把API文档化。
  • 好的API应当符合工效学(Ergonomic)。

4. 优良设计思想的传播。这部分比较新颖,一般技术文章提到的不多。也就是说,一样好东西,怎么样才能让大家都来用,而不是放在箱底。工程学的好多优良设计都应该放到教学环节中去,这样才能一代一代的往下传,而且更容易发展。

你可能感兴趣的:(api,文档,任务)