匈牙利命名法(Hungarian-Notation)(轉(zhuǎn)載) [轉(zhuǎn)貼 2005-10-13 13:30:36 ] 發(fā)表者: 藍(lán)色御風(fēng)
據(jù)說這種命名法是一位叫 Charles Simonyi 的匈牙利程序員發(fā)明的,后來他在微軟呆了幾年,于是
這種命名法就通過微軟的各種產(chǎn)品和文檔資料向世界傳播開了?,F(xiàn)在,大部分程序員不管自己使用
什么軟件進(jìn)行開發(fā),或多或少都使用了這種命名法。這種命名法的出發(fā)點(diǎn)是把量名變按:屬性+類型
+對象 描述的順序組合起來,以使程序員作變量時(shí)對變量的類型和其它屬性有直觀的了解,下面
是HN變量命名規(guī)范,其中也有一些是我個(gè)人的偏向:
屬性部分
全局變量 g_
常量 c_
c++類成員變量 m_
靜態(tài)變量 s_
類型部分
指針 p
函數(shù) fn
無效 v
句柄 h
長整型 l
布爾 b
浮點(diǎn)型(有時(shí)也指文件)f
雙字 dw
字符串 sz
短整型 n
雙精度浮點(diǎn) d
計(jì)數(shù) c(通常用cnt)
字符 ch(通常用c)
整型 i(通常用n)
字節(jié) by
字 w
實(shí)型 r
無符號 u
描述部分
最大 Max
最小 Min
初始化 Init
臨時(shí)變量 T(或Temp)
源對象 Src
目的對象 Dest
這里順便寫幾個(gè)例子:
hwnd : h 是類型描述,表示句柄, wnd 是變量對象描述,表示窗口,所以 hwnd 表示窗口句柄;
pfnEatApple : pfn 是類型描述,表示指向函數(shù)的指針, EatApple 是變量對象描述,所以它表示
指向 EatApple 函數(shù)的函數(shù)指針變量。
g_cch : g_ 是屬性描述,表示全局變量,c 和 ch 分別是計(jì)數(shù)類型和字符類型,一起表示變量類型,這里忽略了對象描述,所以它表示一個(gè)對字符進(jìn)行計(jì)數(shù)的全局變量。
上面就是HN命名法的一般規(guī)則。