C++API设计

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

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

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

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

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

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

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

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

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

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

其他的,看不下去了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章