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

开发 开发工具
如何设计好的接口,下面,我们就简单从特性、设计和实现的基本原则来快速了解一下。

一、好接口的特性

(1) 易读

(2) 易用,难于误用

(3) 功能独立

(4) 容易扩展

[[214745]]

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

(1) 只做并做好一件事

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

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

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

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

  • 举例:不能假定函数调用者只能使用hash
  • 不能对外暴露实现细节

(4) 最小化访问

  • 尽量使用私有化成员
  • 注意信息隐藏

(5) 注意文档与注释

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

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

(1) 不要到处拷贝代码

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

(3) Fail-Fast原则

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

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

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

  • 尽量明确类型
  • 能不用string尽量不用
  • 使用float的地方尽量用double,64bit

(6) 参数个数不宜太多

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

【本文为51CTO专栏作者“58沈剑”原创稿件,转载请联系原作者】

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2022-07-18 06:16:07

单点登录系统

2017-07-06 08:12:02

索引查询SQL

2020-07-09 07:37:06

数据库Redis工具

2020-07-17 07:44:25

云计算边缘计算IT

2016-09-14 15:57:53

架构分布式系统负载均衡

2017-03-30 19:28:26

HBase分布式数据

2022-06-02 08:46:04

网卡网络服务器

2016-12-16 11:05:00

分布式互斥线程

2018-06-26 05:23:19

线程安全函数代码

2020-05-21 19:46:19

区块链数字货币比特币

2017-02-21 13:00:27

LoadAverage负载Load

2018-07-31 16:10:51

Redo Undo数据库数据

2011-02-21 17:48:35

vsFTPd

2015-10-10 14:11:00

互联网数据挖掘爬虫

2020-01-30 11:26:17

QinQVLAN协议

2018-01-14 23:19:25

静态动态互联网

2018-12-12 22:51:24

Java包装语言

2016-09-12 17:28:45

云存储应用软件存储设备

2019-12-24 09:10:43

Ipv6IP址协议

2017-05-23 16:13:45

点赞
收藏

51CTO技术栈公众号