C語(yǔ)言命名規(guī)則_第1頁(yè)
C語(yǔ)言命名規(guī)則_第2頁(yè)
C語(yǔ)言命名規(guī)則_第3頁(yè)
C語(yǔ)言命名規(guī)則_第4頁(yè)
C語(yǔ)言命名規(guī)則_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、匈牙利命名法是微軟推廣的一種關(guān)于變量、函數(shù)、對(duì)象、前綴、宏定義等各種類型的符號(hào)的命名規(guī)范。匈牙利命名法的主要思想是:在變量和函數(shù)名中加入前綴以增進(jìn)人們對(duì)程序的理解。它是由微軟內(nèi)部的一個(gè)匈牙利人發(fā)起使用的,結(jié)果它在微軟內(nèi)部逐漸流行起來(lái),并且推廣給了全世界的Windows開發(fā)人員。下面將介紹匈牙利命名法,后面的例子里也會(huì)盡量遵守它和上面的代碼風(fēng)格。   a       Array            

2、0;                    數(shù)組  b       BOOL (int)                     

3、       布爾(整數(shù))  by      Unsigned Char (Byte)                  無(wú)符號(hào)字符(字節(jié))  c       Char      

4、                            字符(字節(jié))  cb      Count of bytes             

5、;           字節(jié)數(shù)  cr      Color reference value                 顏色(參考)值  cx      Count of x (Short)  

6、                  x的集合(短整數(shù))  dw      DWORD   (unsigned long)                 雙字(無(wú)符號(hào)長(zhǎng)整數(shù))  f

7、       Flags   (usually multiple bit values)   標(biāo)志(一般是有多位的數(shù)值)  fn      Function                       

8、0;      函數(shù)  g_      global                                全局的  h   

9、60;   Handle                                句柄  i       Integer      &

10、#160;                        整數(shù)  l       Long                 

11、60;                長(zhǎng)整數(shù)  lp      Long pointer                         

12、長(zhǎng)指針  m_      Data member of a class                一個(gè)類的數(shù)據(jù)成員  n       Short int             

13、0;               短整數(shù)  p       Pointer                          &#

14、160;    指針  s       String                                字符串  sz    &

15、#160; Zero terminated String                以0結(jié)尾的字符串  tm      Text metric                    &#

16、160;      文本規(guī)則  u       Unsigned int                          無(wú)符號(hào)整數(shù)  ul      Unsigned

17、 long (ULONG)                 無(wú)符號(hào)長(zhǎng)整數(shù)  w       WORD (unsigned short)                 無(wú)符號(hào)短整數(shù)  x,y 

18、;    x, y coordinates (short)              坐標(biāo)值/短整數(shù)  v       void                    &

19、#160;             空 有關(guān)項(xiàng)目的全局變量用g_開始,類成員變量用m_,局部變量若函數(shù)較大則可考慮用l_用以顯示說(shuō)明其是局部變量。前綴       類型       例子g_    全局變量       g_ServersC 

20、0;   類或者結(jié)構(gòu)體       CDocument,CPrintInfom_   成員變量       m_pDoc,m_nCustomers VC常用前綴列表:前綴       類型       描述       例子ch  

21、;  char 8位字符    chGradech    TCHAR       16位UNICODE類型字符       chNameb     BOOL       布爾變量       bEnabledn   &#

22、160; int    整型(其大小由操作系統(tǒng)決定)       nLengthn     UINT       無(wú)符號(hào)整型(其大小由操作系統(tǒng)決定)       nLengthw    WORD       16位無(wú)符號(hào)整型   

23、 wPosl      LONG       32位有符號(hào)整型    lOffsetdw   DWORD       32位無(wú)符號(hào)整型       dwRangep     *       Ambient memory

24、model pointer 內(nèi)存模塊指針,指針變量    pDoclp     FAR*       長(zhǎng)指針       lpDoclpsz  LPSTR       32位字符串指針       lpszNamelpsz  LPCSTR  

25、0;    32位常量字符串指針       lpszNamelpsz  LPCTSTR       32位UNICODE類型常量指針       lpszNameh     handle       Windows對(duì)象句柄    

26、0;  hWndlpfn  (*fn)()  回調(diào)函數(shù)指針 Callback Far pointer to CALLBACK function lpfnAbort Windows對(duì)象名稱縮寫:Windows對(duì)象       例子變量       MFC類       例子對(duì)象HWND    hWnd;    

27、   CWnd*       pWnd;HDLG     hDlg;       CDialog*       pDlg;HDC       hDC;       CDC*     

28、0; pDC;HGDIOBJ       hGdiObj;       CGdiObject*     pGdiObj;HPEN     hPen;       CPen*       pPen;HBRUSH hBrush;    

29、0;  CBrush*       pBrush;HFONT   hFont;       CFont*       pFont;HBITMAP       hBitmap;       CBitmap*     

30、60; pBitmap;HPALETTE       hPalette;       CPalette*       pPalette;HRGN     hRgn;       CRgn*       pRgn;HMENU hMenu;  

31、     CMenu*       pMenu;HWND    hCtl;       CStatic*       pStatic;HWND    hCtl;       CButton*      

32、; pBtn;HWND    hCtl;       CEdit*       pEdit;HWND    hCtl;       CListBox*       pListBox;HWND    hCtl;     &

33、#160; CComboBox*       pComboBox; VC常用宏定義命名列表:前綴       符號(hào)類型       符號(hào)例子       范圍IDR_      標(biāo)識(shí)多個(gè)資源共享的類型       IDR_MAINFRAME

34、       10x6FFFIDD_      對(duì)話框資源(Dialog)       IDD_SPELL_CHECK       1 0x6FFFHIDD_    基于對(duì)話框的上下文幫助       HIDD_SPELL_CHECK    

35、;   0x200010x26FFIDB_       位圖資源(Bitmap)       IDB_COMPANY_LOGO       10x6FFFIDC_      光標(biāo)資源(Cursor)       IDC_PENCIL    10x6FFFIDI

36、_       圖標(biāo)資源(Icon)       IDI_NOTEPAD 10x6FFFID_、IDM_    工具欄或菜單欄的命令項(xiàng)    ID_TOOLS_SPELLING       0x80000xDFFFHID_      命令上下文幫助     &

37、#160; HID_TOOLS_SPELLING       0x180000x1DFFFIDP_       消息框提示文字資源       IDP_INVALID_PARTNO       80xDFFFHIDP_    消息框上下文幫助       HIDP_IN

38、VALID_PARTNO       0x300080x3DFFFIDS_       字符串資源(String)       IDS_COPYRIGHT       10x7FFFIDC_      對(duì)話框內(nèi)的控制資源       IDC_RECA

39、LC   80xDFFF 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)用程序中打開UnicodeA

40、FXAPI  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)連

41、接庫(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     

42、  唯一的動(dòng)態(tài)連接庫(kù)(DLL)版本W(wǎng)INAPI       Windows所提供的函數(shù) Windows.h中新的命名規(guī)范類型       定義描述WINAPI  使用在API聲明中的FAR PASCAL位置,如果正在編寫一個(gè)具有導(dǎo)出API人口點(diǎn)的DLL,則可以在自己的API中使用該類型CALLBACK       使用在應(yīng)用程序回調(diào)程序,如窗口和對(duì)話框過(guò)程中的FAR PASCAL的位置L

43、PCSTR 與LPSTR相同,只是LPCSTR用于只讀串指針,其定義類似(const char FAR*)UINT      可移植的無(wú)符號(hào)整型類型,其大小由主機(jī)環(huán)境決定(對(duì)于Windows NT和Windows                            &

44、#160;               9x為32位);它是unsigned int的同義詞LRESULT       窗口程序返回值的類型LPARAM 聲明lParam所使用的類型,lParam是窗口程序的第四個(gè)參數(shù)WPARAM       聲明wParam所使用的類型,wParam是窗口程序的第三個(gè)參數(shù)LPVOID  一般指

45、針類型,與(void *)相同,可以用來(lái)代替LPSTR MSDN中給出了一段遵守代碼風(fēng)格和匈牙利命名法的代碼參考如下:1   #include “sy.h”2   extern int *rgwDic;3   extern int bsyMac;4   struct SY *PsySz(char sz)6   7       char *pch;8       int

46、 cch;9       struct SY *psy, *PsyCreate();10      int *pbsy;11      int cwSz;12      unsigned wHash=0;13      pch=sz;14      while (*pch!=0)15

47、60;         wHash=wHash<>11+*pch+;16      cch=pch-sz;17      pbsy=&rgbsyHash(wHash&077777)%cwHash;18      for (; *pbsy!=0; pbsy = &psy->bsyNext)19   

48、   20          char *szSy;21          szSy= (psy=(struct SY*)&rgwDic*pbsy)->sz;22          pch=sz;23        

49、  while (*pch=*szSy+)24          25              if (*pch+=0)26                  return (psy);27

50、0;         28      29      cwSz=0;30      if (cch>=2)31          cwSz=cch-2/sizeof(int)+1;32      *pbsy=(int *)(

51、psy=PsyCreate(cwSY+cwSz)-rgwDic;33      Zero(int *)psy,cwSY);34      bltbyte(sz, psy->sz, cch+1);35      return(psy);36  按照MS方式編程:匈牙利符號(hào)表示法 匈牙利符號(hào)表示法包括許多與下列命名有關(guān)的約定: (1)變量 (2)函數(shù) (3)類型和常量 (4)類 (5)參數(shù) 匈牙利符號(hào)表示法的前綴代碼指導(dǎo)說(shuō)明書: *

52、前綴 數(shù)據(jù)類型(基本類型) C 字符 BY 字節(jié) N 短整數(shù)和整數(shù)(表示一個(gè)數(shù)) I 整數(shù) X,Y 短整數(shù)(通常用于X坐標(biāo)和Y坐標(biāo)) CX,CY 短整數(shù)(通常用于表示X和Y的長(zhǎng)度,C表示計(jì)數(shù)) B 布爾型 W UINT(無(wú)符號(hào)數(shù))和WORD(無(wú)符號(hào)字) L LONG(長(zhǎng)整數(shù)) DW DWORD(無(wú)符號(hào)長(zhǎng)整數(shù)) FN 函數(shù)指針 S 串 SZ,STR 以0字節(jié)終止的字符串 LP 32位長(zhǎng)整數(shù)指針 H 編號(hào)(常用于表示W(wǎng)indows對(duì)象) MSG 消息 * 變量的命名: 應(yīng)用匈牙利表示法,變量可用上表中的前綴代碼來(lái)表示。另外,當(dāng)一個(gè)變量是由一個(gè)或幾個(gè)子名構(gòu)成時(shí),每一個(gè)子名都要以大寫字母開頭。下 面是

53、幾個(gè)例子: char *szfileName; / a nulla terminated string:以0終止的字符串 int *lpidate; / a 32-bit pointer to an int:指向一個(gè)整型變量的32位的長(zhǎng)指針 Bool,bSemaphore; /a boolean value WORD dwMaxCount / a 32-bit unsigned WORD 盡管我們了解一個(gè)函數(shù)的局部變量沒(méi)有說(shuō)明,但是也有個(gè)別表示全局變量必須要以 g_ 開頭: int g_iXPos; / a global x-position int g_iTimer; / a global

54、y-position char *g_szString /a global NULL terminated string 函數(shù)的命名: 函數(shù)和變量的命名方式相同,但是沒(méi)有前綴,換句話說(shuō),子名的第一個(gè)字母要大寫。下面是幾個(gè)例子: int PlotPixel(int ix,int iy,int ic); void *MemScan(char *szString); 而且,下劃線是非法的。例如,下面的函數(shù)名表示是無(wú)效的匈牙利表示法: int Get_Pixel(int ix,int iy); 類型和常量的命名: 所有的類型和常量都是大寫字母,但名字中可以允許有下劃線。如: const LONG NU

55、M_SECTORS=100; / a C+ style constant #define MAX_CELLS 64; / a C style constant #define POWERUNIT 100; / a C style constant typedef unsigned char UCHAR; / a user defined type 類的命名 類命名的約定可能要麻煩一點(diǎn)。但我也看到有很多人在使用這個(gè)約定,并獨(dú)立地進(jìn)行補(bǔ)充。不管怎么說(shuō),所有C+的類必須以大寫C為前綴,類 名字的每一個(gè)子名的第一個(gè)字母都必須大寫: class CVector / the chinese mean of vector is 矢量 public CVector(); ix=iy=iz=imagnitude=0; /the chinese mean of magnitude is 大小

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論