一、好接口的特性
(1) 易读
(2) 易用,难于误用
(3) 功能独立
(4) 容易扩展
二、好接口设计的基本原则
(1) 只做并做好一件事
- 函数名自解释
- 不恰当的函数名,往往是不恰当设计的征兆
(2) 如果没做到上一点,就将函数分解
- 只增加,永远不要删除函数与接口(你永远不知道这个接口被谁在使用)
(3) 实现永远不能影响接口
- 举例:不能假定函数调用者只能使用hash
- 不能对外暴露实现细节
(4) 最小化访问
- 尽量使用私有化成员
- 注意信息隐藏
(5) 注意文档与注释
- 接口不是只写给自己(即使只给自己,也应该有说明)
三、好接口实现的基本原则
(1) 不要到处拷贝代码
(2) 原子性尽量在一个接口内保证
(3) Fail-Fast原则
- 出错尽量早点返回,交给上层处理,不要勉强抢救
(4) 避免数据直接访问,而是提供访问方法
(5) 注意参数与返回值类型
- 尽量明确类型
- 能不用string尽量不用
- 使用float的地方尽量用double,64bit
(6) 参数个数不宜太多
- 如果过多,就要考虑接口的合理性了
【本文为51CTO专栏作者“58沈剑”原创稿件,转载请联系原作者】