一,类型名命名原则:
类型名中的每个英文单词的第一个字母大写,其它小写,最后以_T结尾。但,缩写字当作普通字处理,即只有首字母大写。
举例:
class QueryProgress_T
{
//...
};
原因,一是防止与变量名冲突,它和变量名有两个不同,一个是首字母大写,另一个是以_T结尾。_T来源于POSIX命名。POSIX统一采用_t命名其类名。区分名字的各单词也可用下划线,但用大写字母会使得名字短些。
二,变量名和函数名:
变量名和函数名中首字母小写,然后每个英文单词的第一种个字母大写,其它小写。
举例:
int szSqlString;
有一类函数,他们调用普通函数,只是对普通函数的错误返回做一般化处理。这些函数的名字和所包含的函数名相同,只是全部用大写字母。
三,宏,常量和模板名:
全部用大写,如果有多个单词,用下划线分隔
四,指针标识符:变量以p开头,函数以Ptr结尾
举例:
char *pName;
typedef int (*CallbackFunctionPtr_T)(int para);
五,变量名前缀:
用不同的前缀来区分不同的作用区域
i_ 类内数据成员
c_ 类内静态数据成员
g_ 全局变量
f_ 文件作用域变量
函数内部等局部变量不用前缀
关于匿名命名空间级标识符的前缀,全大写字母,最好少于三个字符。
六,命名时避免使用国际组织占用的格式
双下划线开头 ISO C++/ANSI C
包含双下划线 ISO C++
单下划线开头 ISO C++/ANSI C
E[0-9,A-Z]开头 ANSI C
is[a-z]开头 ANSI C
to[a-z]开头 ANSI C
LC_开头 ANSI C
SIG[_A-Z]开头 ANSI C
str[a-z]开头 ANSI C
mem[a-z]开头 ANSI C
wcs[a-z]开头 ANSI C
_t结尾 POSIX
七,名字要本着清楚简单的原则,尽量用可发音的英文通用词汇名字,避免模棱两可晦涩不标准的缩写,类和对象名应是名词,实现行为的类成员函数名应是动词,类的查询和存取成员函数应是名词或形容词,变量名应是名词