很多 Windows 程序员都会选择依照“匈牙利命名法”来给变量命名,这是为了纪念程序员 Charles Simonyi ~~~
“匈牙利命名法”指的是变量名以一个或者多个小写字母开始,这些字母表示变量的数据型态。例如:szCmdLine 中的 sz 表示“以0结尾的字符串(StringZero)”;在 hInstance 和 hPrevInstance 中的 h 前缀表示“句柄(Handle)”;在 iCmdShow 中的 i 前缀表示“整型(Integer)”。
当命名结构变量时,可以用结构名(或者结构名的一种缩写)的小写形式作为变量名称的前缀,或者作为整个变量名。例如:msg 变量是 MSG 型态的结构;wndclass 是 WNDCLASSEX 型态的一个结构;ps 是一个 PAINTSTRUCT 结构,rect 是一个 RECT 结构。
匈牙利命名法可以帮助程序员及早发现程序中的错误,因为变量名中描述了变量的作用,同时描述了变量的数据型态,这样就会比较容易避免产生数据型态不合的错误。
前缀 | 数据类型 |
c | char 或 WCHAR 或 TCHAR |
by | BYTE(无符号字符) |
n | short(短整型) |
i | int(整型) |
x, y | int,表示 x 坐标和 y 坐标 |
cx, cy | int,表示 x 或 y 的长度,c 表示“count”(计数) |
B 或 f | BOOL(int) f 表示“flag” |
w | WORD(无符号短整型) |
l | LONG(长整型) |
dw | DWORD(无符号长整型) |
fn | 函数 |
s | 字符串 |
sz | 以零结束的字符串 |
h | 句柄 |
p | 指针 |
前缀 | 数据类型 |
c | char 或 WCHAR 或 TCHAR |
by | BYTE(无符号字符) |
n | short(短整型) |
i | int(整型) |
x, y | int,表示 x 坐标和 y 坐标 |
cx, cy | int,表示 x 或 y 的长度,c 表示“count”(计数) |
B 或 f | BOOL(int) f 表示“flag” |
w | WORD(无符号短整型) |
l | LONG(长整型) |
dw | DWORD(无符号长整型) |
fn | 函数 |
s | 字符串 |
sz | 以零结束的字符串 |
h | 句柄 |
p | 指针 |