“匈牙利”法最大的特征就是类型前缀
一、
1、
2、
二、
1、
2、
类成员函数应当只使用“动词”,被省略掉的名词就是对象本身。例如:
"
3、
4、
5、
6、
7、
三、
变量是程序中使用最多的标识符,变量的命名规范是一套C++命名规范中最重要的部分:
1、
特殊的:对于某些用途简单明了的局部变量,也可以使用简化的方式,如:i, j, k, x, y, z
2、
3、
前缀 | 说明 | 例子 |
无 | 局部变量 | |
m_ | 类的成员变量(member) | Int |
ms_ | 类的静态成员变量(static member) | static |
s_ | 静态变量(static) | static |
g_ | 外部全局变量(global) | int |
sg_ | 静态全局变量(static global) | |
gg_ | 进程间共享的共享数据段全局变量(global global) | |
说明:作用域前缀不同于下面的类型前缀,应该坚决执行。原因是:
1)变量作用域和链接性改变的情况是很少的,例如,很少的情况下会把一个成员变量改成静态变量
2)编程中使用的工具常常不会直观的显示变量的作用域和链接性
4、
前缀 | 说明 | 例子 |
b | 布尔型变量(bool, BOOL) | bEnable |
ch | 字符型变量(char | chName |
lpsz | LPSTR、LPCSTR、LPCTSTR | lpszName |
n | 整型和位域变量(int, | nLength |
l | long | lOffset |
by | BYTE | |
w | WORD | wPos |
dw | DWORD | dwRange |
f | 浮点型变量(float) | |
d | double | |
p | 指针型变量和迭代子(pointer) | pDoc |
lp | 远指针 | |
e | 枚举型变量(enumeration) | |
pfn | 特别针对指向函数的指针变量和函数对象指针(pointer of function) | |
g | 数组(grid) | |
h | handle | hWnd |
四、
常量名由类型前缀+全大写字母组成,单词间通过下划线来界定,如:cDELIMITER,
五、
全部由前缀+大写字母组成,单词间使用下划线界定。
1、
例:
typedef struct tagPOINT
{
int x;
int y;
} POINT;
2、
例:#define MAXNUMBER 100
3、
例:
typedef enum _FILE_OPEN_MODE
{
OPEN_READONLY,
OPEN_READWRITE
}FILE_OPEN_MODE;
4、
例:
typedef union _VARIANT
{
char unichVal;
int uninVal;
float uniftVal;
} VARIANT;