“好”的接口是怎么样的?

一、好接口的特性

(1) 易读

(2) 易用,难于误用

(3) 功能独立

(4) 容易扩展

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

(1) 只做并做好一件事

  • 函数名自解释

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

(2) 如果没做到上一点,就将函数分解

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

(3) 实现永远不能影响接口

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

  • 不能对外暴露实现细节

(4) 最小化访问

  • 尽量使用私有化成员

  • 注意信息隐藏

(5) 注意文档与注释

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

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

(1) 不要到处拷贝代码

(2) 原子性尽量在一个接口内保证

(3) Fail-Fast原则

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

(4) 避免数据直接访问,而是提供访问方法

(5) 注意参数与返回值类型

  • 尽量明确类型

  • 能不用string尽量不用

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

(6) 参数个数不宜太多

posted @ 2018-03-01 16:47  ShareAndCreate  阅读(202)  评论(0编辑  收藏  举报