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