设计API时的最佳实践

设计API时的最佳实践,api,api-design,Api,Api Design,我正在为我正在编写的系统设计一个内部API。API设计中需要考虑的最佳实践是什么?测试驱动开发 TDD将通知您的设计,因为它会提示您提出诸如“我需要它做什么”之类的问题,并且它使您在进行修改时更容易自信地重构。它还鼓励让事情尽可能简单,这总是一件好事。请记住,API是一个用户界面。我试着专注于 做好一件事, 保持有用的功率重量比 避免使用晦涩的名称,以及 通过测试和有效文档明确指定行为 示例是Java语言,但提示适用于任何语言 不合时宜?就像在《来自未来》中一样?:)虽然我认为TDD本身并不意

我正在为我正在编写的系统设计一个内部API。API设计中需要考虑的最佳实践是什么?

测试驱动开发

TDD将通知您的设计,因为它会提示您提出诸如“我需要它做什么”之类的问题,并且它使您在进行修改时更容易自信地重构。它还鼓励让事情尽可能简单,这总是一件好事。

请记住,API是一个用户界面。我试着专注于

  • 做好一件事,
  • 保持有用的功率重量比
  • 避免使用晦涩的名称,以及
  • 通过测试和有效文档明确指定行为

    • 示例是Java语言,但提示适用于任何语言


      不合时宜?就像在《来自未来》中一样?:)虽然我认为TDD本身并不意味着成功的秘诀,但我还是给了他更高的票数。经验是必要的,但TDD可以在设计API时提供很大帮助,因为您必须使用该API。我要做的另一件事是TDD一个使用该API的应用程序。@mike,那个词,我不认为它的意思和你想象的一样;)@但是,成功没有可靠的途径。但是TDD只能在许多不同的方面起到帮助作用。我同意它可以起到帮助作用,而且它通常是一种最佳实践,尽管实际上并不特定于API开发。然而,API确实应该有良好的测试框架,理想情况下,这些接口测试应该在API实现开始之前编写。你是说开发人员接口吗?应用程序编程接口不是由最终用户直接使用的。应用程序程序员也是人:)当他们使用应用程序编程接口时,他们是该编程接口的“用户”。名称、文档和最小化访问在设计API时都非常重要。术语UI可能过载,但意图很清楚。任何东西都有用户——微处理器、编程语言、框架、库;不管我们给这些用户取什么专业名称。