版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、匈牙利命名法Mars:全局函數(shù)首字母大寫,成員函數(shù)首字母小寫匈牙利命名法是一種編程時的命名標準。大體原那么是:變量名=屬性十類型十對象描述,其中每一對象的名稱都要求有 明確含義,能夠取對象名字全稱或名字的一部份。命名要基于容易經(jīng)歷容易明白得的原那么。保證名字的連貫性是超級重 要的。舉例來講,表單的名稱為 form ,那么在匈牙利命名法中能夠簡寫為frm ,那么當表單變量名稱為Switchboard時,變量全稱應該為frmSwitchboard 。如此能夠很容易從變量名看出Switchboard是一個表單,一樣,若是此變量類型為標簽,那么就應命名成IblSwitchboard 。能夠看出,匈牙利
2、命名法超級便于經(jīng)歷,而且使變量名超級清楚易懂,如此,增強了代碼的 可讀性,方便各程序員之間彼此交流代碼。這種命名技術是由一名能干的Microsoft程序員查爾斯西蒙尼(Charles Simonyi)提出的,他誕生在匈牙利。在Microsoft公司中和他一路工作的人被教會利用這種約定。這對他們來講一切都很正常。但對那些Simonyi領導的項目組之外的人來講卻感到很獨特,他們以為這是古板的表達方式,乃至說帶有如此奇怪的外觀是因為它是用匈牙利文寫的。從 此這種命名方式就被叫做匈牙利命名法。聽說這種命名法是一名叫 Charles Simonyi的匈牙利程序員發(fā)明的,后來他在微軟呆了幾年,于是這種命名
3、法就通過微軟的各類產(chǎn)品和文檔資料向世界傳播開了。此刻,大部份程序員不管自己利用 什么軟件進行開發(fā),或多或少都利用了這種命名法。這種命名法的起點是把量名變按:屬性+類型+對象描述的順序組合起來,以使程序員作變量時對變量的類型和其它屬性有直觀的了解,下面是HN變量命名標準,其中也有一些是我個人的偏向:屬性部份全局變量g_常量c_c+類成員變量m_靜態(tài)變量s_類型部份指針p函數(shù)fncb : count of bytes ( used for a variable that denotes a byte size) hbr: handle to a brush無效v句柄hlong int : lboo
4、l : b浮點型(有時也指文件)f雙字dw字符串sz短整型nnear:n雙精度浮點d計數(shù)c (通經(jīng)常使用cnt )character : ch(通經(jīng)常使用 c)int : i (通經(jīng)常使用n)byte : byword : w實型 r(real number)unsigned : u描述部份最大Max最小Min初始化:Init臨時變量:T (或Temp源對象Src目的對象DestWide character wc那個地址順便寫幾個例子:hwnd : h是類型描述,表示句柄,wnd是變量對象描述,表示窗口,因此 hwnd表示窗口句柄;pfnEatApple : pfn是類型描述,表示指向函數(shù)的指
5、針,EatApple 是變量對象描述,因此它表示指向EatApple 函數(shù)的函數(shù)指針變量。g_cch : g_是屬性描述,表示全局變量,c和ch別離是計數(shù)類型和字符類型,一路表示變量類型,那個地址忽略了對象描述,因此它表示一個對字符進行計數(shù)的全局變量。上面確實是HN命名法的一樣規(guī)那么。小結:匈牙利命名法匈牙利命名法MFC句柄、控件及結構的命名標準Windows類型 樣本變量MFC類樣本變量HWND hWn d CWnd* pWncHDLG hDlg; CDialog* pDlg ;HDC hDC CDC* pDC;HGDIOBJ hGdiObj; CGdiObject* pGdiObj ;HP
6、EN 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*
7、 pListBox ;HWND hCtl; CComboBox* pComboBoxHWND hCtl; CScrollBar* pScrollBar ;HSZ hszStr ; CString pStr ;POINT pt ; CPoint pt ;SIZE size ; CSize size ;RECT rect ; CRect rect ;一樣前綴命名標準前綴類型實例C 類或結構 CDocument, CPrintInfom_ 成員變量 m_pDoc, m_nCustomers變量命名標準 前綴類型描述實例ch char 8 位字符 chGradech TCHAR若是_UNICOD概念,
8、那么為16位字符chNameb BOOL 布爾值 bEnablen int 整型(其大小依托于操作系統(tǒng))nLengthn UINT 無符號值(其大小依托于操作系統(tǒng))nHeightw WORD 16位無符號值wPosl LONG 32 位有符號整型lOffsetdw DWORD 32位無符號整型 dwRangep * 指針pDoclp FAR* 遠指針 lpszNamelpsz LPSTR 32 位字符串指針 lpszNamelpsz LPCSTR 32 位常量字符串指針 lpszNamelpsz LPCTSTR 若是_UNICOD概念,那么為 32位常量字符串指針lpszName h hand
9、le Windows對象句柄 hWndlpfn callback 指向CALLBAC圈數(shù)的遠指針前綴符號類型實例范圍IDR_ 不同類型的多個資源共享標識IDR_MAIINFRAME 10x6FFFIDD_ 對話框資源 IDD_SPELL_CHECK 10x6FFFHIDD_ 對話框資源的 Help 上下文 HIDD_SPELL_CHECK 0x2000卜 0x26FFIDB_ 位圖資源 IDB_COMPANY_LOGO F0x6FFFIDC_ 光標資源 IDC_PENCIL 1 0x6FFFIDI_ 圖標資源 IDI_NOTEPAD 1 0x6FFFID_來自菜單項或工具欄的命令 ID_TOO
10、LS_SPELLING 0x80000xDFFFHID_ 命令 Help 上下文 HID_TOOLS_SPELLING 0x18000-0x1DFFFIDP_ 消息框提示 IDP_INVALID_PARTNO 8 0xDEEFHIDP_ 消息框 Help 上下文 HIDP_INVALID_PARTNO 0x300080x3DEFFIDS_ 串資源 IDS_COPYRIGHT 1 0x7EEFIDC_對話框內(nèi)的控件IDC_RECALC 80xDEEFMicrosoft MFC宏命名標準名稱類型_AFXDLL 唯一的動態(tài)連接庫(Dynamic Link Library , DLL.)版本_ALPH
11、A僅編譯DEC Alpha處置器DEBUGS括診斷的調(diào)試版本MBCS編譯多字節(jié)字符集UNICODE在一個應用程序中打開 UnicodeAFXAPI MFC提供的函數(shù)CALLBACK®過指針回調(diào)的函數(shù)庫標識符命名法標識符值和含義u ANSI (N)或 Unicode (U)d調(diào)試或發(fā)行:D =調(diào)試;忽略標識符為發(fā)行。靜態(tài)庫版本命名標準庫描述調(diào)試版本:MFCfl態(tài)連接庫發(fā)行版本:MFCfl態(tài)連接庫調(diào)試版本:具有 Unicode支持的MFCfl態(tài)連接庫發(fā)行版本:具有Unicode支持的MFCfl態(tài)連接庫動態(tài)連接庫命名標準名稱類型_AFXDLL唯一的動態(tài)連接庫(DLL)版本W(wǎng)INAPI Wi
12、ndows所提供的函數(shù)中新的命名標準類型概念描述WINAPI利用在API聲明中的FAR PASCALS置,若是正在編寫一個具有導出API人口點的DLL,那么能夠在自己的 API中利用該類型CALLBAC防U用在應用程序回叫例程,如窗口和對話框進程中的FAR PASCAL勺位置LPCSTR與LPST前目同,只是LPCSTR1于只讀串指針,其概念類似( const char FAR* )UINT可移植的無符號整型類型,其大小由主機環(huán)境決定(關于 Windows NT和Windows 9x為32位);它是unsigned int 的同義詞LRESULT窗口程序返回值的類型LPARAM聲明lParam
13、所利用的類型,lParam是窗口程序的第四個參數(shù)WPARAM1'明wParam所利用的類型,wParam是窗口程序的第三個參數(shù)LPVOID 一樣指針類型,與(void * )相同,能夠用來代替 LPSTR變量命名命名必需具有必然的實際意義,形式為xAbcFgh,x由變量類型確信,Abc、Fgh表示持續(xù)意義字符串,若是持續(xù)意義字符串僅兩個,可都大寫.如OK.具體例程:BOOLL型bEnable;ch*charchTextc*類對象cMain (對象實例)h*Handle (句柄)hWndi*intn*無符號整型p*指針sz,str *字符串wWORDx,y坐標Char或TCHA嗓型與Wi
14、ndows API有直接聯(lián)系的用szAppName10形式不然用FileName10形式,單個字符也可用小寫字母表示;Int類型nCmdShow;LONG®lParam;UINT類型uNotify;DWOR摟型dwStart;PSTR 型pszTip;LPSTR 型lpCmdLineLPTST曲型lpszClassName;LPVOID類型lpReservedWPARA疑型wParam,LPARA賺型lParamHWN類型hDlg;HD屢型hDC;HINSTANC嚶型hInstanceHANDL軟型hInstance,HICON 型hIcon;intiTmpfloatfTmpDWOR
15、Ddw*String , AnsiStringstr *m_類成員變量m_nVal, m_bFlagg_全局變量g_nMsg, g_bFlag局部變量中可采納如下幾個通用變量:nTemp nResult , I , J (一樣用于循環(huán)變量)。其他資源句柄同上,3常量命名和宏概念常量和宏概念必需具有必然的實際意義;常量和宏概念在#include和函數(shù)概念之間;常量和宏概念必需全數(shù)以大寫字母來撰寫,中間可依照意義的持續(xù)性用下劃線連接,每一 條概念的右邊必需有一簡單的注釋,說明其作用;資源名字概念格式:菜單:IDM_XX或 CM_XX位圖:IDB_XX對話框:IDD_XX字符串:IDS_XXDLGI
16、NIT:DIALOG_XXICON:IDR_XX,4函數(shù)命名函數(shù)原型說明包括引用外來函數(shù)及內(nèi)部函數(shù),外部引用必需在右邊注明函數(shù)來源:模塊名及文件名,如是內(nèi)部函數(shù),只要注釋其概念文件名;第一個字母必需利用大寫字母,要求用大小寫字母組合標準函數(shù)命名,必要時可用下劃線 距離,例如如下:voidUpdateDB_Tfgd (TRACK_NAME); Name :r01/voidPrintTrackData (TRACK_NAME); Name :r04/voidImportantPoint (void);Name :r01/void ShowChar (int , int , chtype);Modu
17、levoidScrollUp_V (int , int);Module,5結構體命名結構體類型命名必需全數(shù)用大寫字母,原那么上前面以下劃線開始;結構體變量命名必需用大小寫字母組合,第一個字母必需利用大寫字母,必要時可用下劃線距離。關于私有數(shù)據(jù)區(qū),必需注明其所屬的進程。全局數(shù)據(jù)概念只需注意其用途。例如如下:typedef struct(charcharcharcharunsigned long unsigned longDBS_DATABASE;DBS_DATABASE GdataBase;:st_.6控件的命名:用小寫前綴表示類別用小寫前綴表示類別:fm窗口cmd按鈕cobcombo,下拉式歹
18、U表框txt文本輸入框lablabal,標簽imgimage,圖象picpicturegrdGrid ,網(wǎng)格scr轉(zhuǎn)動條lst列表框frmframszProductName20;szAuthor20;szReleaseDate16;szVersion10;MaxTables;UsedTables;7注釋原那么上注釋要求利用中文;文件開始注釋內(nèi)容包括:公司名稱、版權、作者名稱、時刻、模塊用途、背景介紹等,復雜的算法需要加上流程說明;函數(shù)注釋包括:輸入、輸出、函數(shù)描述、流程處置、全局變量、挪用樣例等,復雜的函數(shù)需要加上變量用途說明;程序中注釋包括:修改時刻和作者、方便明白得的注釋等;引用一:文件開頭的注釋模板/*文?件t名?:* Copyright (c) 1998-1999 *公?司?技?術。?開 a發(fā)。?6部?* 創(chuàng)?建?§人一?:* 日一?期一2:* *修T改?人一?:* * 日一?期一2:* *描,?述。?:* 版? ?本 a ?:*/引用二:函數(shù)開頭的注釋模板/*函數(shù)名:* 輸入:a,b,c*b*c-出:xx為1, 表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度制造業(yè)勞動合同制及技能培訓協(xié)議3篇
- 二零二五年度出租車合資購買合同書:出租車行業(yè)節(jié)能減排合作協(xié)議3篇
- 二零二五年度人工智能教育培訓合同正規(guī)范本2篇
- 學期末評語范文
- 2024版智能穿戴設備研發(fā)生產(chǎn)合同
- 2024年項目管理與技術外包合同
- 國慶校園廣播稿(5篇)
- 二零二五年度親子游樂場配套設施采購合同3篇
- 2024版冷鏈物流貨物運輸服務合同
- 二零二五年度公司法人借款合同糾紛解決協(xié)議2篇
- 汽車電器DFMEA-空調(diào)冷暖裝置
- 河北省滄州市2023-2024學年高一上學期期末考試語文試題(含答案解析)
- 2024屆四川省成都市中考數(shù)學第一輪復習之中考考點研究《一次函數(shù)與反比例函數(shù)綜合問題》教學
- 2023AECOPD診治中國專家共識
- (正式版)JBT 14682-2024 多關節(jié)機器人用伺服電動機技術規(guī)范
- (2024年)(完整版)24式太極拳教案全集
- 2024年職業(yè)衛(wèi)生技術人員評價方向考試題庫附答案
- 醫(yī)院與藥企合作開展臨床研究
- -如何上好一堂課
- 采購管理實務(高職)全套教學課件
- 小學奧數(shù)題庫《幾何》-直線型-一半模型-3星題(含解析)全國通用版
評論
0/150
提交評論