天天看点

高效C++编程

推荐编写C++的代码风格,看似容易,坚持不易,且写且珍惜!  --陈国林

1. 版本和版本声明

版本和版本文件声明位于头文件和定义文件的开头,主要内容

(1)版本信息

(2)文件名称、标识符、摘要

(3)当前的版本号、作者、修改日期

(4)版本历史信息

2. 程序版式

(1)在每个类声明之后、每个函数定义之后都要加上一个空行

(2)一行代码只做一件事情

(3)if、for、while、do各占一行,执行语句不得紧跟其后,不论执行语句多少都加上{}

(4)尽量在定义一个变量的时候就初始化该变量

(5)程序分界符{和}必须独占一行并且左对齐

(6)代码长度不宜超过70至80个字符,超过之后拆成新行,操作符放在新行之首

(7)应该把*和&修饰符靠近变量名,例如int *x = &a

(8)类中建议先把public类型写在前面,再写private类型

3. 命名规则

(1)类名和函数名要用大写字母开头单词组成

(2)变量和参数要使用小写字母开头单词组成

(3)常量全用大写字母,用下划线分割单词

(4)静态变量加上前缀s_,例如static int s_num

(5)全局变量加上前缀g_,例如int g_num

(6)类的数据成员前面加上m_,可以和成员函数和静态成员区分开

4. 表达式和基本语句

(1)不可将bool值直接和true、false、0、1进行比较。如果flag是bool类型,直接if(flag)这样判断即可

(2)整型变量应该要直接和0比较,比如num为整型变量,if(num == 0)

(3)不可将浮点型变量直接用 == 和 !=来进行比较

(4)指针变量要直接和NULL进行比较,例如p为指针变量,if(p != NULL)

5. 函数设计

(1)函数参数的书写要完整,如果没有参数,用void填补

(2)如果参数有指针,并且该指针只是读取作用应该要加上const,防止指针意外修改

(3)在函数的内部入口应该要对参数的有效性进行检查

(4)函数的功能要单一,不要设计多用途的函数

(5)函数体的规模要小,控制在50行代码

6. 内存管理

(1)malloc和new申请内存之后,应该要立即检查指针是否为NULL,防止使用指针值为NULL的内存。

(2)要对数组和动态内存赋初值,防止将未初始化的内存作为右值使用

(3)用free或delete释放了内存之后,立即将指针指向NULL,防止产生野指针。

继续阅读