GZGame 发表于 2019-5-30 16:26:27

API的设计,如何设计优雅的API?

计算机科学领域的任何问题,都可以通过增加一个间接的中间层来解决

·如何被使用?
·如何运行?
·谁在使用?
·相关方有谁?

API范围定义:分层API模式

如何设计优雅的API?

原则:一个API只做一件事情。

1.先抽象模型,再进行多平台设计

2.平台风格->语言风格->业务抽象->团队风格

3.命名细节:时态、单复数、介词、大小写

4.经验式编程:所见即所得
      何为经验式编程?
      (1)免注释式命名
      (2)行为自解释
      (3)区分基础与高级API
      (4)避免副作用

5.稳定的设计
      ·少即是多 信息是否必须要用?如果只保留1-2个接口,可避免扩散
      ·向后兼容 100%向后兼容理论上是不可行的,
      ·接口适配层 为业务预留空间
      ·URI中预置版本号
      ·预定义错误码
      ·小版本之间的直接迁移

6.编码
      ·防御性编程
      ·LifeCycle注册
      ·检查版本号
      ·运行库命名空间等

7.Review
      ·CodeReview是基础
      ·自动化工具的参考报错(静态分析、命名/复杂度、接口变更统计...)
      ·团队评审,建立评审流程

8.发布与反馈
      ·区分版本
      ·A/B Test
      ·接口使用统计:APM
      ·Log:级别与回调



页: [1]
查看完整版本: API的设计,如何设计优雅的API?