首页 > 代码库 > c++编程规范101条规则

c++编程规范101条规则

很久没有更新过博客了,其实不管多忙,有时候写写博客未尝不是一种提升。下面是我最近看的一本书的部分内容。

1.不要忽视警告,尽量没有警告。

2.使用自动构建系统

3.使用版本控制系统

4.在代码审查上投入

5.一个实体应该只有一个紧凑的职责

6.正确,简单和清晰的代码。

7.编程中应知道何时和如何考虑可伸缩性

8.不要进行不成熟的优化。

9.不要进行不成熟的劣化。

10.尽量减少全局和共享数据。

11.隐藏信息。

12.懂得何时和如何进行并发性编程。

13.确保资源为对象所拥有,使用显式的RALL和智能指针。

14.宁要编译时和连接时错误,也不要运行错误。

15.积极使用const.

16.避免使用宏。

17.避免使用魔数。

18.尽可能局部地声明变量。

19.总是初始化变量。

20.避免函数过长,避免嵌套过程。

21.避免跨编译单元的初始化依赖。

22.尽量减少定义性依赖,避免循环依赖。

23.头文件应该自给自足。

24.总是编写内部#include保护符,绝不要编写外部#include保护符。

25.正确地选择通过值,指针或者引用传递参数。

26.保持重载操作符的自然语义。

27.优先使用算术操作符和赋值操作符的标准形式。

28.优先使用++和--的标准形式,有限调用前缀形式。

29.考虑重载以避免隐含类型转换。

30.便面重载&&,||或,(逗号)。

31.不要编写依赖于函数参数求值顺序的代码。

32.弄清所要编写的是哪种类。

33.用小类代替巨类。

34.用组合代替继承。

35.避免从并非要设计成基类的类中继承。

36.优先提供抽象接口。

37.公用继承即可替换性。继承,不是为了重用。而是为了被重用。

38.实施安全的改写。

39.考虑将虚拟函数声明为非公用的,将公用函数声明为非虚拟的。

40.要避免提供隐式转换。

41.将数据成员设为私有的,无行为的聚集(C语言形式的struct).

42.不要公开内部数据。

43.明确地使用pimpl。(使私有成员真正不可见)。

44.优先编写非成员非友元函数。

45.总是一起提供NEW和Delete。

46.如果提供类专门的NEW,应该提供所有标准形式(普通,就地和不抛出)。

47.以同样的顺序定义和初始化成员变量。

48.在构造函数中初始化代替赋值。

49.避免在构造函数和析构函数中调用虚拟函数。

50.将基类析构函数设为公用且虚拟的,或者保护且非虚拟的。