G.国王族 官方论坛-广州游戏资讯网

标题: API的设计,如何设计优雅的API? [打印本页]

作者: GZGame    时间: 2019-5-30 16:26
标题: 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:级别与回调








欢迎光临 G.国王族 官方论坛-广州游戏资讯网 (http://bbs.gzgame.com.cn/) Powered by Discuz! X3.1