• 9386阅读
  • 0回复

C++编码标准之一:命名原则 [复制链接]

上一主题 下一主题
离线XChinux
 

只看楼主 倒序阅读 楼主  发表于: 2005-07-30
一,类型名命名原则:
  类型名中的每个英文单词的第一个字母大写,其它小写,最后以_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

七,名字要本着清楚简单的原则,尽量用可发音的英文通用词汇名字,避免模棱两可晦涩不标准的缩写,类和对象名应是名词,实现行为的类成员函数名应是动词,类的查询和存取成员函数应是名词或形容词,变量名应是名词
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个