如何设计接口

根据资料和经验总结。

要求:

  1. 命名:
    1. 命名规则和风格统一、规范;
    2. 命名清晰明确,不冗余,不模糊;
    3. 有意义:清晰和有意义的命名比简略而模糊的命名更应受到青睐;
  1. 功能
    1. 职责明确:功能尽量单一;
    2. 充分理由:不要随便有新功能就增加新接口;无意义的接口只会增加维护的难度;
    3. 将功能层和策略层分开:
      1. 功能是基础数据,不易变;
      2. 策略是表层数据,易变——策略可以使用参数修改;
    1. 低耦合:减少不同接口间的依赖。
      1. 一个接口不应随着另一个接口的变化而变化;
      2. 一个接口不应以某几个接口为前提而存在。
    1. 完备性:
      1. 考虑各种参数变化的情况;
      2. 考虑各种参数为default或为0的情况;
    1. 可扩展性:为以后可能会增加的参数预留余地,尽量不要写死;
  1. 参数
    1. 不超过5个;
    1. 从做到右,按照参数容易变化的程度排列;
    2. 尽量提供默认值;
    3. 若超过5个,把相似的数据放入到一个jsonlist等数据结构中;
    4. 禁止随意扩展:理由见“功能”部分;
    5. 参数尽量是原生数据结构,少用对平台依赖的数据结构。
  1. 分析角度:明确角度,不要一会以角色设计,一会以功能设计。
  2. 必要信息:
    1. 初始信息
      1. 初始化是否完毕
      2. 初始化完毕后的基本信息(如:listdict的长度——可以看出是否为0
    1. 中间信息
      1. 数据源是否变动
      2. 数据长度是否改变(需要视重要程度决定是否需打印该信息)
    1. 返回信息
      1. 是否成功?
      2. 失败原因?

 

 

 

参考文献:

  1. http://www.yixieshi.com/zhichang/14567.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值