很多 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 | 指針 |