API设计随笔

今天看到CSDN上有一篇google的首席JAVA架构师访谈,主要谈到软件开发过程中的API设计。

 

总结之,有如下观点:

 

1。 关于测试API:在实现API之前编写它的测试用例。

2。 不用API写代码,就不可能看出API有什么问题。

3。 API设计有一条基本原则:疑则不用。

4。 你对API越来越有信心,代码也就越写越长。

 

结合到最近我做的系统设计中的API设计,颇有体会。

 

在理想化的设计过程中(文档级别),我已经把数据API的数据流理论上跑通了。

但是实现过程中总会出现各种各样的问题,举例

 

1。 有时会想到,咦,这个地方是不是得加一个参数,那个地方参数形式是否合适。

2。 开发人员甚至都有时会有疑惑,这个参数为什么要传,到底是有什么用?

3。 开发过程中也许会发现,为了使得API能正常调用,还必须对输入参数作各种限制,那么这种限制是该在接口级别体现还是在API的实现过程中体现呢?

4。 若已经针对该接口做了大量调用,或者上下游都已经调通了,修改接口的时候怎么办呢?

 

在少量的变化的情况下,我比较倾向于代码级的修改。

如果是接口的形式需要变化,那么我倾向于再普通接口上设置Adapter。

在复杂系统调用过程中,尽量让调用者和数据的实际使用者只通过接口耦合,若在中间层作过多的处理只会导致牵一发动全身。

关于“疑则不用”,还有对接口的“信心”,我想这是每个API开发人员应该遵循的原则,开发API最大的成功就是让调用者没有疑惑,没有顾虑。(当然这跟接口所完成业务的复杂度相关)

对于复杂接口,我倾向于在接口注释中说明使用方法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值