89

一分钟了解“好”接口的设计与实现

 6 years ago
source link: https://mp.weixin.qq.com/s/CwPno-g44lVxIOMt2u4lFw
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

一分钟了解“好”接口的设计与实现

Original 58沈剑 架构师之路 2017-12-17 13:50 Posted on

一、好接口的特性

  • 易用,难于误用

二、好接口设计的基本原则

  • 只做并做好一件事

      函数名自解释

      不恰当的函数名,往往是不恰当设计的征兆

  • 如果没做到上一点,就将函数分解

      只增加,永远不要删除函数与接口(你永远不知道这个接口被谁在使用)

  • 实现永远不能影响接口

      举例:不能假定函数调用者只能使用hash

      不能对外暴露实现细节

  • 最小化访问

      尽量使用私有化成员

      注意信息隐藏

  • 注意文档与注释

      接口不是只写给自己(即使只给自己,也应该有说明)

三、好接口实现的基本原则

  • 不要到处拷贝代码

  • 原子性尽量在一个接口内保证

  • Fail-Fast原则

      出错尽量早点返回,交给上层处理,不要勉强抢救

  • 避免数据直接访问,而是提供访问方法

  • 注意参数与返回值类型

      尽量明确类型

      能不用string尽量不用

      使用float的地方尽量用double,64bit

  • 参数个数不宜太多

      如果过多,就要考虑接口的合理性了

你见过没有注释的接口么?

你见过2000行的接口么?

你见过20个参数的接口么?

你见过什么更奇葩的接口?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK