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
















