原文地址为:
优秀API的几大特征
转载请注明本文地址: 优秀API的几大特征
优秀的API究竟应该怎么设计,它包含什么特征,可能有过API相关开发经验并且认真思考过的朋友都有这个疑问。
- 隐藏实现细节
创建API原因就是为了隐藏所有实现细节,防止对客户造成影响。具体包括对于变量、方法与类的隐藏。对于变量的返回,我们不应该返回非const的指针或者引用的私有数据成员。这会破坏封装。 - 最小完备性
完备的API是指期望有的功能都包含了。最小的完备则是在实现所有功能前提下我们应该提供最少的public接口。我们需要特别注意以下几点:- 在不确定是否需要某个接口时,就不要提供该接口。因为添加功能容易,但是删除某个功能就难了。
- 避免将函数声明为虚函数,除非有迫切需要。
- 易用性
优秀的API应该简单易用,能使人一目了然。其中我们可以主要关注以下几点:- 可发现性,就是通过API自身就能明白API的使用。
- 不容易被勿用,比如参数列表将bool改成enum,是不是会更一目了然了呢。
- 尽量使用同一风格的设计方法。其中包括一致的命名风格,参数顺序等。
- 健壮的内存资源管理,可以通过智能指针进行简化管理。
- 平台独立性,比如避免出现#if#ifdef等类似的语句。
- 优秀完整的文档
转载请注明本文地址: 优秀API的几大特征