MFC命名規範

2022-07-04 05:30:11 字數 3727 閱讀 9964

屬性部分

全域性變數: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 命名規範的時候,特意看了一下,但是特別反感,感覺太糟糕了,所以就沒有深究過 我討厭壓行,這是我反感這個規範的最大原因。不過,現在我不...