匈利亞命名法

  • 匈利亞命名法
    匈牙利命名法是一種編程時(shí)的命名規(guī)范。基本原則是:變量名=屬性+類型+對(duì)象描述,其中每一對(duì)象的名稱都要求有明確含義见坑,可以取對(duì)象名字全稱或名字的一部分。要基于容易記憶容易理解的原則捏检。保證名字的連貫性是非常重要的
    1.類型前綴
    2.首字母大寫(xiě)

前綴  類型  中文說(shuō)明
a   Array   數(shù)組
b   BOOL(int)   布爾(整數(shù))
by  Unsigned Char(Byte) 無(wú)符號(hào)字符(字節(jié))
c   Char    字符(字節(jié))
cb  Count of Bytes  字節(jié)數(shù)
cr  Color Reference Value   顏色(參考)值
cx  Count of x(Short)   x的集合(短整數(shù))
f   Flags(usually multiple bit values)  標(biāo)志(一般是有多位的數(shù)值)
fn  Function    函數(shù)
g_  Global  全局的
h   Handle  句柄
i   Integer 整數(shù)
l   Long    長(zhǎng)整數(shù)
lp  Long Pointer    長(zhǎng)指針
m_  Data Member of a Class  一個(gè)類的數(shù)據(jù)成員
n   Short Integer   短整數(shù)
p   Pointer 指針
s   String  字符串
sz  Zero Terminated String  以零結(jié)尾的字符串
tm  Text Metric 文本規(guī)則
u   Unsigned Integer    無(wú)符號(hào)整數(shù)
ul  Unsigned Long(ULONG)    無(wú)符號(hào)長(zhǎng)整數(shù)
w   WORD(Unsigned Short)    無(wú)符號(hào)短整數(shù)
x,y x, y Coordinates (Short)    坐標(biāo)值(短整數(shù))
v   Void    空
有關(guān)項(xiàng)目的全局變量用g_開(kāi)始荞驴,類成員變量用m_,局部變量若函數(shù)較大則可考慮用l_用以顯示說(shuō)明其是局部變量贯城。

前綴  類型  例子
g_  全局變量    g_Servers
C   類或者結(jié)構(gòu)體  CDocument, CPrintInfo
m_  成員變量    m_pDoc, m_nCustomers
VC常用前綴列表:

前綴  類型  描述  例子
ch  char    8位字符    chGrade
ch  TCHAR   16位Unicode集字符   chName
b   BOOL    布爾變量    bEnable
n   int 整型  nLength
n   UINT    無(wú)符整型    nLength
w   WORD    16位無(wú)符號(hào)整型    wPos
l   Long    32位有符號(hào)整型    lOffset
dw  DWORD   32位無(wú)符號(hào)整型    dwRange
p   *   指針變量熊楼,內(nèi)存模塊指針(Ambient memory model point) pDoc
lp  Far*    長(zhǎng)指針 lpDoc
lpsz    LPSTR   32位字符串指針    lpszName
lpsz    LPCSTR  32位常量字符串指針  lpszName
lpsz    LPCTSTR 32位Unicode集常量指針 lpszName
h   handle  Windows對(duì)象句柄 hWnd
lpfn    (*fn)()     回調(diào)函數(shù)指針 Callback Far pointer to CALLBACK function    lpfnAbort
MFC、句柄能犯、控件及結(jié)構(gòu)的命名規(guī)范:

Windows類型   樣本變量    MFC類    樣本變量
HWND    hWnd    CWnd*   pWnd
HDLG    hDlg    CDialog*    pDlg
HDC hDC CDC*    pDC
HGDIOBJ hGdiObj CGdiObject* pGdiObj
HPEN    hPen    CPen*   pPen
HBRUSH  hBrush  CBrush* pBrush
HFONT   hFont   CFont*  pFont
HBITMAP hBitmap CBitmap*    pBitmap
HPALETTE    hPaltte CPalette*   pPalette
HRGN    hRgn    CRgn*   pRgn
HMENU   hMenu   CMenu*  pMenu
HWND    hCtl    CState* pState
HWND    hCtl    CButton*    pButton
HWND    hCtl    CEdit*  pEdit
HWND    hCtl    CListBox*   pListBox
HWND    hCtl    CComboBox*  pComboBox
HWND    hCtl    CScrollBar* pScrollBar
HSZ hszStr  CString pStr
POINT   pt  CPoint  pt
SIZE    size    CSize   size
RECT    rect    CRect   rect
一般前綴命名規(guī)范:

前綴  類型  實(shí)例
C   類或結(jié)構(gòu)    Cdocument, CPrintInfo
m_  成員變量    m_pDoc, m_nCustomers
變量命名規(guī)范:

前綴  類型  描述  實(shí)例
ch  char    8位字符    chGrade
ch  TCHAR   如果_UNICODE定義鲫骗,則為16位字符    chName
b   BOOL    布爾值 bEnable
n   int 整型(其大小依賴于操作系統(tǒng))  nLength
n   UINT    無(wú)符號(hào)值(其大小依賴于操作系統(tǒng))    nHeight
w   WORD    16位無(wú)符號(hào)值 wPos
l   LONG    32位有符號(hào)整型    lOffset
dw  DWORD   32位無(wú)符號(hào)整型    dwRange
p   *   指針  pDoc
lp  FAR*    遠(yuǎn)指針 lpszName
lpsz    LPSTR   32位字符串指針    lpszName
lpsz    LPCSTR  32位常量字符串指針  lpszName
lpsz    LPCTSTR 如果_UNICODE定義,則為32位常量字符串指針   lpszName
h   handle  Windows對(duì)象句柄 hWnd
lpfn    callback    指向CALLBACK函數(shù)的遠(yuǎn)指針     
前綴  符號(hào)類型    實(shí)例  范圍
IDR_    不同類型的多個(gè)資源共享標(biāo)識(shí)   IDR_MAIINFRAME  1~0x6FFF
IDD_    對(duì)話框資源   IDD_SPELL_CHECK 1~0x6FFF
HIDD_   對(duì)話框資源的Help上下文   HIDD_SPELL_CHECK    0x20001~0x26FF
IDB_    位圖資源    IDB_COMPANY_LOGO    1~0x6FFF
IDC_    光標(biāo)資源    IDC_PENCIL  1~0x6FFF
IDI_    圖標(biāo)資源    IDI_NOTEPAD 1~0x6FFF
ID_ 來(lái)自菜單項(xiàng)或工具欄的命令    ID_TOOLS_SPELLING   0x8000~0xDFFF
HID_    命令Help上下文   HID_TOOLS_SPELLING  0x18000~0x1DFFF
IDP_    消息框提示   IDP_INVALID_PARTNO  8~0xDEEF
HIDP_   消息框Help上下文  HIDP_INVALID_PARTNO 0x30008~0x3DEFF
IDS_    串資源 IDS_COPYRIGHT   1~0x7EEF
IDC_    對(duì)話框內(nèi)的控件 IDC_RECALC  8~0xDEEF
應(yīng)用程序符號(hào)命名規(guī)范

Microsoft MFC宏命名規(guī)范:

名稱  類型
_AFXDLL 唯一的動(dòng)態(tài)連接庫(kù)(Dynamic Link Library踩晶,DLL)版本
_ALPHA  僅編譯DEC Alpha處理器
_DEBUG  包括診斷的調(diào)試版本
_MBCS   編譯多字節(jié)字符集
_UNICODE    在一個(gè)應(yīng)用程序中打開(kāi)Unicode
AFXAPI  MFC提供的函數(shù)
CALLBACK    通過(guò)指針回調(diào)的函數(shù)
庫(kù)標(biāo)識(shí)符命名法:

標(biāo)識(shí)符 值和含義
u   ANSI(N)或Unicode(U)
d   調(diào)試或發(fā)行:D = 調(diào)試执泰,忽略標(biāo)識(shí)符為發(fā)行。
靜態(tài)庫(kù)版本命名規(guī)范:

庫(kù)   描述
NAFXCWD.LIB 調(diào)試版本:MFC靜態(tài)連接庫(kù)
NAFXCW.LIB  發(fā)行版本:MFC靜態(tài)連接庫(kù)
UAFXCWD.LIB 調(diào)試版本:具有Unicode支持的MFC靜態(tài)連接庫(kù)
UAFXCW.LIB  發(fā)行版本:具有Unicode支持的MFC靜態(tài)連接庫(kù)
動(dòng)態(tài)連接庫(kù)命名規(guī)范:

名稱  類型
_AFXDLL 唯一的動(dòng)態(tài)連接庫(kù)(DLL)版本
WINAPI  Windows所提供的函數(shù)
Windows.h中新的命名規(guī)范:

類型  定義描述
WINAPI  使用在API聲明中的FAR PASCAL位置合瓢,如果正在編寫(xiě)一個(gè)具有導(dǎo)出API人口點(diǎn)的DLL坦胶,則可以在自己的API中使用該類型
CALLBACK    使用在應(yīng)用程序回叫例程,如窗口和對(duì)話框過(guò)程中的FAR PASCAL的位置
LPCSTR  與LPSTR相同晴楔,只是LPCSTR用于只讀串指針,其定義類似(const char FAR*)
UINT    可移植的無(wú)符號(hào)整型類型峭咒,其大小由主機(jī)環(huán)境決定(對(duì)于Windows NT和Windows 9x為32位)税弃;它是unsigned int的同義詞
LRESULT 窗口程序返回值的類型
LPARAM  聲明lParam所使用的類型,lParam是窗口程序的第四個(gè)參數(shù)
WPARAM  聲明wParam所使用的類型凑队,wParam是窗口程序的第三個(gè)參數(shù)
LPVOID  一般指針類型则果,與(void *)相同幔翰,可以用來(lái)代替LPSTR
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市西壮,隨后出現(xiàn)的幾起案子遗增,更是在濱河造成了極大的恐慌,老刑警劉巖款青,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件做修,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡抡草,警方通過(guò)查閱死者的電腦和手機(jī)饰及,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)康震,“玉大人燎含,你說(shuō)我怎么就攤上這事⊥榷蹋” “怎么了屏箍?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)橘忱。 經(jīng)常有香客問(wèn)我铣除,道長(zhǎng),這世上最難降的妖魔是什么鹦付? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任尚粘,我火速辦了婚禮,結(jié)果婚禮上敲长,老公的妹妹穿的比我還像新娘郎嫁。我一直安慰自己,他們只是感情好祈噪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布泽铛。 她就那樣靜靜地躺著,像睡著了一般辑鲤。 火紅的嫁衣襯著肌膚如雪盔腔。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天月褥,我揣著相機(jī)與錄音弛随,去河邊找鬼。 笑死宁赤,一個(gè)胖子當(dāng)著我的面吹牛舀透,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播决左,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼愕够,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼走贪!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起惑芭,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤坠狡,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后遂跟,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體逃沿,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年漩勤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了感挥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡越败,死狀恐怖触幼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情究飞,我是刑警寧澤置谦,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站亿傅,受9級(jí)特大地震影響媒峡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜葵擎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一谅阿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧酬滤,春花似錦签餐、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至体捏,卻和暖如春冠摄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背几缭。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工河泳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奏司。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓乔询,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親韵洋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子竿刁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1、引言 數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中表搪缨、字段等的命名規(guī)范也算是設(shè)計(jì)規(guī)范的一部分食拜,不過(guò)設(shè)計(jì)規(guī)范更多的是為了確保數(shù)據(jù)庫(kù)設(shè)計(jì)的合理...
    SnowflakeCloud閱讀 40,996評(píng)論 0 48
  • CSS命名規(guī)則 頭:header內(nèi)容:content/containe尾:footer導(dǎo)航:nav側(cè)欄:sideb...
    紋小艾閱讀 734評(píng)論 0 9
  • CSS命名規(guī)則 頭:header 內(nèi)容:content/containe 尾:footer 導(dǎo)航:nav 側(cè)欄:s...
    王小傲閱讀 1,507評(píng)論 0 9
  • 從上篇文章里面提到了工廠模式痹届,今個(gè)就說(shuō)說(shuō)這個(gè)廣泛使用的模式呻待;“工廠模式專門(mén)負(fù)責(zé)將大量有共同接口的類實(shí)例化”——閆宏...
    breezedancer閱讀 1,173評(píng)論 0 49
  • 1. 小琪參加學(xué)校的話劇團(tuán),需要招收十幾個(gè)新成員队腐。我問(wèn)怎么需要這么多人蚕捉,她說(shuō)有很多小花小草大樹(shù)什么的都需要有人扮演...
    崔希閱讀 746評(píng)論 0 1