C++API设计

虽然在平常的软件开发中,比较少开发API。但是应为确实做过一个有关API的项目,所以遇到相关的书籍也就大概过了一遍。

其实平常的软件开发中,软件内部的接口也应该用到API设计的一些典型方法与建议。

书中提到的API应该尽量隐藏实现的细节,看到这个就想到,学习类的时候。类的主要功能是封装,封装就是要避免暴漏细节。但是有时候,为了使用模板,确实会放开一些细节。

另外很重要的一点就是不要将变量设置为公有,省不了多长时间。而且可以将get/set方法设置为内联方法。但是对于项目中经常遇到的只有变量的结构体,我觉得还真没有设置的必要。就算有必要,我也没有那个能力以一己之力改变。关键是类的变量,尽量不要设置为公有。这也是封装的一种体现。

类应该定义做什么而不是如何做。这一点时说,不要把不应公开的方法公开。这个可以作为设计类方法的原则。

不要返回数据的非const引用。其实返回值的话,如果不是构造太复杂,还是直接传值比较好。倒是传入的值应该都是常量引用比较好。对于STL容器,const引用限制了读取方式。比如map[1]这种方式就不能用了。

Pimp这种技巧,API中可以用。实际中,看情况吧,用的比较少。

对于可加可不加的接口,那就不要添加。

使用一致的命名规则。风格其实还是比较混乱的。

用例从用户角度描述用户需求,不应该定义设计。感觉应该对输入输出的范围定义下来,才可以指导测试。

其他的,看不下去了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值