|
计算机科学领域的任何问题,都可以通过增加一个间接的中间层来解决
·如何被使用?
·如何运行?
·谁在使用?
·相关方有谁?
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:级别与回调
|
|