青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

君子性非異也,善假于物也。

如有恒,何須三更起,半夜眠;最怕莫,三天打魚兩天曬網(wǎng),竹籃打水一場空!
posts - 31, comments - 23, trackbacks - 0, articles - 30
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

匈牙利命名法的來歷和介紹

Posted on 2006-11-02 23:07 neter 閱讀(434) 評論(0)  編輯 收藏 引用 所屬分類: 程序設(shè)計
匈牙利命名法是一種編程時的命名規(guī)范。基本原則是:變量名=屬性+類型+對象描述,其中每一對象的名稱都要求有明確含義,可以取對象名字全稱或名字的一部分。命名要基于容易記憶容易理解的原則。保證名字的連貫性是非常重要的。

舉例來說,表單的名稱為form,那么在匈牙利命名法中可以簡寫為frm,則當(dāng)表單變量名稱為Switchboard時,變量全稱應(yīng)該為frmSwitchboard。這樣可以很容易從變量名看出Switchboard是一個表單,同樣,如果此變量類型為標(biāo)簽,那么就應(yīng)命名成lblSwitchboard。可以看出,匈牙利命名法非常便于記憶,而且使變量名非常清晰易懂,這樣,增強(qiáng)了代碼的可讀性,方便各程序員之間相互交流代碼。

這種命名技術(shù)是由一位能干的Microsoft程序員查爾斯·西蒙尼(Charles Simonyi) 提出的,他出生在匈牙利。在 Microsoft 公司中和他一起工作的人被教會使用這種約定。這對他們來說一切都很正常。但對那些 Simonyi 領(lǐng)導(dǎo)的項(xiàng)目組之外的人來說卻感到很奇特,他們認(rèn)為這是死板的表達(dá)方式,甚至說帶有這樣奇怪的外觀是因?yàn)樗怯眯傺览膶懙摹拇诉@種命名方式就被叫做匈牙利命名法。

據(jù)說這種命名法是一位叫 Charles Simonyi 的匈牙利程序員發(fā)明的,后來他在微軟呆了幾年,于是
這種命名法就通過微軟的各種產(chǎn)品和文檔資料向世界傳播開了。現(xiàn)在,大部分程序員不管自己使用
什么軟件進(jìn)行開發(fā),或多或少都使用了這種命名法。這種命名法的出發(fā)點(diǎn)是把量名變按:屬性+類型
+對象 描述的順序組合起來,以使程序員作變量時對變量的類型和其它屬性有直觀的了解,下面
是HN變量命名規(guī)范,其中也有一些是我個人的偏向:

屬性部分
全局變量
g_
常量
c_
c++類成員變量
m_
靜態(tài)變量
s_

類型部分
指針
p
函數(shù)
fn
無效
v
句柄
h
長整型
l
布爾
b
浮點(diǎn)型(有時也指文件)
f
雙字
dw
字符串
sz
短整型
n
雙精度浮點(diǎn)
d
計數(shù)
c(通常用cnt)
字符
ch(通常用c)
整型
i(通常用n)
字節(jié)
by

w
實(shí)型
r
無符號
u

描述部分
最大
Max
最小
Min
初始化
Init
臨時變量
T(或Temp)
源對象
Src
目的對象
Dest



這里順便寫幾個例子:
hwnd : h 是類型描述,表示句柄, wnd 是變量對象描述,表示窗口,所以 hwnd 表示窗口句柄;
pfnEatApple : pfn 是類型描述,表示指向函數(shù)的指針, EatApple 是變量對象描述,所以它表示
指向 EatApple 函數(shù)的函數(shù)指針變量。
g_cch : g_ 是屬性描述,表示全局變量,c 和 ch 分別是計數(shù)類型和字符類型,一起表示變量類
型,這里忽略了對象描述,所以它表示一個對字符進(jìn)行計數(shù)的全局變量。
上面就是HN命名法的一般規(guī)則。


小結(jié):匈牙利命名法

匈牙利命名法


MFC、句柄、控件及結(jié)構(gòu)的命名規(guī)范 Windows類型 樣本變量 MFC類 樣本變量
HWND hWnd; CWnd* pWnd;
HDLG hDl*; **ialog* 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 無符號值(其大小依賴于操作系統(tǒng)) nHeight
w WORD 16位無符號值 wPos
l LONG 32位有符號整型 lOffset
dw DWORD 32位無符號整型 dwRange
p * 指針 pDoc
lp FAR* 遠(yuǎn)指針 lpszName
lpsz LPSTR 32位字符串指針 lpszName
lpsz LPCSTR 32位常量字符串指針 lpszName
lpsz LPCTSTR 如果_UNICODE定義,則為32位常量字符串指針 lpszName
h handle Windows對象句柄 hWnd
lpfn callback 指向CALLBACK函數(shù)的遠(yuǎn)指針


前綴 符號類型 實(shí)例 范圍
IDR_ 不同類型的多個資源共享標(biāo)識 IDR_MAIINFRAME 1~0x6FFF
IDD_ 對話框資源 IDD_SPELL_CHECK 1~0x6FFF
HIDD_ 對話框資源的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_ 來自菜單項(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_ 對話框內(nèi)的控件 IDC_RECALC 8~0xDEEF


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


庫標(biāo)識符命名法 標(biāo)識符 值和含義
u ANSI(N)或Unicode(U)
d 調(diào)試或發(fā)行:D = 調(diào)試;忽略標(biāo)識符為發(fā)行。


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


動態(tài)連接庫命名規(guī)范 名稱 類型
_AFXDLL 唯一的動態(tài)連接庫(DLL)版本
WINAPI Windows所提供的函數(shù)


Windows.h中新的命名規(guī)范 類型 定義描述
WINAPI 使用在API聲明中的FAR PASCAL位置,如果正在編寫一個具有導(dǎo)出API人口點(diǎn)的DLL,則可以在自己的API中使用該類型
CALLBACK 使用在應(yīng)用程序回叫例程,如窗口和對話框過程中的FAR PASCAL的位置
LPCSTR 與LPSTR相同,只是LPCSTR用于只讀串指針,其定義類似(const cha* **R*)
UINT 可移植的無符號整型類型,其大小由主機(jī)環(huán)境決定(對于Windows NT和Windows 9x為32位);它是unsigned int的同義詞
LRESULT 窗口程序返回值的類型
LPARAM 聲明lParam所使用的類型,lParam是窗口程序的第四個參數(shù)
WPARAM 聲明wParam所使用的類型,wParam是窗口程序的第三個參數(shù)
LPVOID 一般指針類型,與(void *)相同,可以用來代替LPSTR
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲国产精品久久久久婷婷884| 一区二区在线观看av| 久久婷婷综合激情| 亚洲精品一区在线| 久久精品国产欧美激情| 亚洲欧洲一区| 红桃视频国产一区| 国产精品影片在线观看| 女仆av观看一区| 亚洲欧美久久| 一区二区av| 99在线视频精品| 欧美激情一区二区三区在线| 久久久久久久久岛国免费| 一区二区三区视频观看| 在线精品福利| 99视频精品免费观看| 国产偷久久久精品专区| 亚洲性xxxx| 午夜视频精品| 欧美成人午夜激情在线| 亚洲国产综合91精品麻豆| 亚洲理论在线| 亚洲女同同性videoxma| 美女图片一区二区| 欧美大尺度在线| 国产精品乱人伦一区二区| 国产美女精品免费电影| 好吊一区二区三区| 亚洲黄色成人久久久| 亚洲人成在线观看网站高清| 99国产麻豆精品| 久久阴道视频| 中文在线不卡| 欧美美女视频| 亚洲国产天堂久久国产91| 久久亚洲国产成人| 久久se精品一区二区| 国产精品v亚洲精品v日韩精品 | 欧美黑人在线观看| 99亚洲一区二区| 欧美天天视频| 亚洲国产mv| 久久激情五月丁香伊人| 9l国产精品久久久久麻豆| 欧美精品免费播放| 欧美成人有码| 性欧美暴力猛交69hd| 欧美成人精品在线播放| 亚洲一区影院| 久久久久久伊人| 久久久精品免费视频| 在线亚洲伦理| 欧美日本一道本| 久久精品色图| 国产精品夜夜夜| 日韩亚洲成人av在线| 国产欧美一区二区视频| 久久久另类综合| 欧美日韩在线一二三| 亚洲免费久久| 99国产精品久久久久久久久久| 欧美日韩在线影院| 久久男人资源视频| 欧美xxx在线观看| 99热在线精品观看| 欧美一区二区私人影院日本| 亚洲国产电影| 亚洲综合社区| 一区二区免费在线播放| 久久精品国产清高在天天线| 亚洲精品美女91| 亚洲欧美中文字幕| 日韩亚洲不卡在线| 久久久久久电影| 午夜一区不卡| 欧美日一区二区三区在线观看国产免| 欧美在线观看一二区| 欧美高清成人| 欧美电影打屁股sp| 国产有码在线一区二区视频| 在线亚洲一区二区| 亚洲激情国产| 老色鬼精品视频在线观看播放| 欧美一区成人| 国产欧美日韩在线播放| 亚洲五月婷婷| 亚洲一区二区精品在线观看| 国产亚洲精品自拍| 亚洲午夜av| 亚洲欧美日韩视频一区| 欧美精彩视频一区二区三区| 蜜乳av另类精品一区二区| 欧美三级午夜理伦三级中视频| 性色av一区二区三区在线观看| 欧美激情一区二区| 欧美激情综合| 亚洲午夜激情在线| 国产精品综合色区在线观看| 亚洲尤物视频网| 久久久久久69| 日韩亚洲精品视频| 国产精品日日摸夜夜摸av| 久久成人精品无人区| 亚洲精品免费一二三区| 香港成人在线视频| 亚洲欧洲在线看| 国产麻豆精品在线观看| 麻豆精品网站| 亚洲欧美国产高清| 亚洲国产精品一区二区三区| 午夜精品久久久久久久久| 在线观看日韩av电影| 国产精品av一区二区| 欧美sm视频| 性感少妇一区| 亚洲一区精品在线| 亚洲黄色在线观看| 欧美xx69| 亚洲国产精品尤物yw在线观看| 亚洲一区二区伦理| 亚洲影视综合| 久久久久成人精品免费播放动漫| 久久av一区二区三区漫画| 久久久女女女女999久久| 亚洲欧美另类国产| 欧美激情在线| 国产精品三级视频| 国产综合一区二区| 在线观看欧美成人| 亚洲精品久久| 久久国产精品久久w女人spa| 欧美成人激情视频| 亚洲黄色av| 亚洲欧美日韩精品久久亚洲区| 西西人体一区二区| 欧美jizz19性欧美| 国产精品xxxxx| 亚洲人体1000| 久久精品成人| 午夜视频在线观看一区| 欧美人妖另类| 亚洲大胆美女视频| 欧美在线网址| 亚洲欧美日韩一区二区在线 | 狠狠色伊人亚洲综合成人| 亚洲日本va午夜在线电影| 野花国产精品入口| 欧美岛国激情| 美女精品一区| 黄色精品一区二区| 亚洲专区一区二区三区| 午夜精品一区二区三区电影天堂 | 欧美成人精品影院| 亚洲国产日韩一区| 久久亚洲一区二区三区四区| 久久久久99| 在线免费不卡视频| 亚洲人成网站在线观看播放| 久久综合九色欧美综合狠狠| 最新国产成人在线观看 | 久久成人免费电影| 老巨人导航500精品| 久久嫩草精品久久久久| 美腿丝袜亚洲色图| 亚洲区一区二| 欧美另类专区| 牛牛影视久久网| 亚洲国产精品悠悠久久琪琪| 欧美中文字幕在线播放| 午夜精品久久久99热福利| 亚洲精品免费网站| 欧美精品自拍偷拍动漫精品| 亚洲国产精品免费| 欧美一区二区三区日韩| 一个人看的www久久| 欧美亚韩一区| 亚洲视频一区在线| 国产一区二区三区奇米久涩| 亚洲免费成人av| 先锋影音网一区二区| 亚洲成人资源网| 亚洲欧美一级二级三级| 亚洲美女在线看| 久久综合网络一区二区| 欧美在线播放视频| 国产欧美一区二区三区沐欲| 蜜臀av在线播放一区二区三区| 欧美日韩专区| 久久免费精品日本久久中文字幕| 欧美日本二区| 亚洲福利av| 国产小视频国产精品| 日韩一区二区精品视频| 亚洲第一黄色| 久久精品一区二区| 亚洲欧美日韩国产综合| 欧美日韩精品一区二区天天拍小说| 久久尤物电影视频在线观看|