*类名和函数名用大写字母开头的单词组合而成
*变量和参数用小写字母开头的单词组合而成
*常量全用大写的字母,用下划线分割单词
*静态变量加前缀s_
*全局变量加前缀g_
*类的数据成员加前缀m_(可避免数据成员与成员函数的参数同名)
*不可将布尔变量直接与TRUE,FALSE或者1,0进行比较。
假设布尔变量名字为flag,它与零值比较的标准if语句如下:
if(flag) //表示flag为真
if(!flag)//表示flag为假
以下用法都属于不良风格
if (flag == TRUE)
if (flag == 1 )
if(flag == FALSE)
if(flag == 0 )
*应当将整型变量用“==”或“!=”直接与0比较。
if (0 == value)
if (0 != value)
不可模仿布尔变量的写法
*不可将浮点变量用“==”或“!=”与任何数字比较
应当转化成“〉=”或“〈=”形式
如if ((x>=-EPSINON) && (x<=EPSINON))
其中EPSINON是允许的误差(即精度)
*应当将指针变量用“==”或“!=”与NULL比较
if (p == NULL)
if (p != NULL)
用const 常量完全取代宏常
不能在类声明中初始化const数据成员。
建立在整个类中都恒定的常量:
用类中的枚举常量来实现
class A
{
enum { SIZE1 = 100, SIZE2 = 200};
int array1[SIZE1];
int array1[SIZE2];
}
*参数的书写要完整
void SetValue(int width, int height);
float GetValue(void);
*如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改。
void StringCopy(char *strDestination, const char *strSource);
*用malloc或new申请内存后,应该立即检查指针指是否为NULL.防止使用指针值为NULL的内存。
*不要忘记为数组和动态内存赋初值。防止将未被初始化的内存作为右值使用。
*避免数组或指针的下标越界,特别要当心发生多一或少一的操作
*动态内存的申请与释放必须配对,防止内存泄露。
*用free或delete释放了内存之后,立即将指针设置为NULL,防止产生“野指针