屬性部分
全域性變數:g_
常量:c_
c++類成員變數:m_
靜態變數:s_
型別部分
指標:p
函式:fn
無效:v
控制代碼:h
長整型:l
布林:b
浮點型(有時也指檔案):f
雙字:dw
字串:sz
短整型:n
雙精度浮點:d
計數:c(通常用cnt)
字元:ch(通常用c)
整型:i(通常用n)
位元組:by
字:w實型:r
無符號:u
描述部分
最大:max
最小:min
初始化:init
臨時變數:t(或temp)
源物件:src
目的物件:dest
這裡順便寫幾個例子:
hwnd : h 是型別描述,表示控制代碼, wnd 是變數物件描述,表示視窗,所以 hwnd 表示視窗控制代碼;
g_cch : g_ 是屬性描述,表示全域性變數,c 和 ch 分別是計數型別和字元型別,一起表示變數型別,這裡忽略了物件描述,所以它表示乙個對字元進行計數的全域性變數。上面就是hn命名法的一般規則。
匈牙利命名法
mfc、控制代碼、控制項及結構的命名規範 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;
一般字首命名規範 字首 型別 例項
c 類或結構 cdocument,cprintinfo
m_ 成員變數 m_pdoc,m_ncustomers
變數命名規範 字首 型別 描述 例項
ch char 8位字元 chgrade
ch tchar 如果_unicode定義,則為16位字元 chname
b bool 布林值 benable
n int 整型(其大小依賴於作業系統) nlength
n uint 無符號值(其大小依賴於作業系統) nheight
w word 16位無符號值 wpos
l long 32位有符號整型 loffset
dw dword 32位無符號整型 dwrange
p * 指標 pdoc
lp far* 遠指標 lpszname
lpsz lpstr 32位字串指標 lpszname
lpsz lpcstr 32位常量字串指標 lpszname
lpsz lpctstr 如果_unicode定義,則為32位常量字串指標 lpszname
h handle windows物件控制代碼 hwnd
lpfn callback 指向callback函式的遠指標
字首 符號型別 例項 範圍
idr_ 不同型別的多個資源共享標識 idr_maiinframe 1~0x6fff
idd_ 對話方塊資源 idd_spell_check 1~0x6fff
hidd_ 對話方塊資源的help上下文 hidd_spell_check 0x20001~0x26ff
idb_ 位圖資源 idb_company_logo 1~0x6fff
idc_ 游標資源 idc_pencil 1~0x6fff
idi_ 圖示資源 idi_notepad 1~0x6fff
id_ 來自選單項或工具欄的命令 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
idc_ 對話方塊內的控制項 idc_recalc 8~0xdeef
microsoft mfc巨集命名規範 名稱 型別
_afxdll 唯一的動態連線庫(dynamic link library,dll)版本
_alpha 僅編譯dec alpha處理器
_debug 包括診斷的除錯版本
_mbcs 編譯多位元組字符集
_unicode 在乙個應用程式中開啟unicode
afxapi mfc提供的函式
callback 通過指標**的函式
庫識別符號命名法 識別符號 值和含義
u ansi(n)或unicode(u)
d 除錯或發行:d = 除錯;忽略識別符號為發行。
靜態庫版本命名規範 庫 描述
nafxcwd.lib 除錯版本:mfc靜態連線庫
nafxcw.lib 發行版本:mfc靜態連線庫
uafxcwd.lib 除錯版本:具有unicode支援的mfc靜態連線庫
uafxcw.lib 發行版本:具有unicode支援的mfc靜態連線庫
動態連線庫命名規範 名稱 型別
_afxdll 唯一的動態連線庫(dll)版本
winapi windows所提供的函式
windows.h中新的命名規範 型別 定義描述
winapi 使用在api宣告中的far pascal位置,如果正在編寫乙個具有匯出api人口點的dll,則可以在自己的api中使用該型別
callback 使用在應用程式回叫例程,如視窗和對話方塊過程中的far pascal的位置
lpcstr 與lpstr相同,只是lpcstr用於唯讀串指標,其定義類似(const char far*)
uint 可移植的無符號整型型別,其大小由主機環境決定(對於windows nt和windows 9x為32位);它是unsigned int的同義詞
lresult 視窗程式返回值的型別
lparam 宣告lparam所使用的型別,lparam是視窗程式的第四個引數
wparam 宣告wparam所使用的型別,wparam是視窗程式的第三個引數
lpvoid 一般指標型別,與(void *)相同,可以用來代替lpstr
命名規範 C 命名規範約定
命名規則約定 序 號描述示例 1類命名混合使用大小寫,首字母大寫 classname 2型別定義,包括列舉和typedef,混合使用大小寫,首字母大寫 typename 3區域性變數混合使用大小寫,且首字母小寫,名字與底層資料型別無關,且應該反映其所代表的事物 localvariable 4子程式引...
程式規範 命名規範
這裡列舉我自己的命名規則,網上很多,但是這個是我目前自己的命名規範 每個單詞的首字母大寫,一般用名詞形式 如 circle goodobject highschool stringlist memorypool verylargebuffer 顯然,所有命名的乙個基本要求 顧名思義,通過名字,能夠反...
程式設計命名規範之 Google C 程式設計命名規範
大一的時候曾經特別關注過命名規範的問題,並且寫了乙個部落格總結了一些基礎的規範 三種程式設計命名規範 後來得知有一種命名規範叫做 go ogle c goo glec 命名規範的時候,特意看了一下,但是特別反感,感覺太糟糕了,所以就沒有深究過 我討厭壓行,這是我反感這個規範的最大原因。不過,現在我不...