遵循的整体规则:
同一性 |
编写子模块或者派生类时,遵循其基类或者整体模块的命名风格 |
标识符组成 |
英文单词或其组合,望文知意,用词准确 |
最小化长度&& 最大化信息量 |
意思明确时,尽量缩短长度 |
避免过于相似 |
例如“i”与“I”,“function”与“Function”等 |
避免在不同级别的作用域中重名 |
不要出现名字相同的全局变量和局部变量,容易让人误解 |
正确命名具有互斥意义的标识符 |
如:"nMinValue"和"nMaxValue","GetName()" 和 "SetName()" |
避免名字中出现数字编号 |
如Value1,Value2等,主要是为防止程序员偷懒 |
类与结构:
C++类/结构命名 |
类名以大写字母“C”开头,后跟一个或者多个单词,每个单词的首字母要大写 |
推荐形式 |
用“名词”或者“形容词+名词”的形式,如“CFastVector” |
函数:
函数命名 |
由一个或多个单词组成,为便于界定,每个单词的首字母大写 |
推荐形式 |
使用“动词”或者“动词+名词”的形式,如“GetName()”等 |
保护成员函数 |
应当加一个下划线“_” |
私有成员函数 |
应该加两个下划线”__” |
虚函数 |
习惯以“Do”开头 |
回调和事件处理函数 |
习惯以“On”开头 |
变量:
变量的命名 |
作用域前缀+类型前缀+一个或多个单词组成。为便于界定,每个单词的首字母要大写,简单变量使用i,j,k,即可 | |
作用域前缀 |
前缀 |
说明 |
无 |
局部变量 | |
m_ |
类的成员变量(member) | |
sm_ |
类的static 变量 | |
g_ |
外部全局变量 | |
sg_ |
静态全局变量 | |
类型前缀 |
n |
整型和位域变量(number) |
e |
枚举型变量 | |
c |
字符型 | |
b |
布尔型 | |
f |
浮点型 | |
p |
指针 | |
pfn |
函数指针 | |
推荐形式 |
应当使用“名词”或者“形容词+名词”。例如:”nCode”,”m_nState” |
常量:
常量的命名 |
类型前缀+全大写字母,单词间使用下划线来界定 |