1. 程式人生 > >C/C++變數命名規則,個人習慣總結

C/C++變數命名規則,個人習慣總結

C_C++變數命名規則

變數命名規則是為了增強程式碼的可讀性和容易維護性。以下為C++必須遵守的變數命名規則:

1、 變數名只能是字母(A-Za-z)和數字(0-9)或者下劃線(_)組成。

2、 第一個字母必須是字母或者下劃線開頭。

3、 不能使用C++關鍵字來命名變數,以免衝突。

4、 變數名區分大小寫。

變數命名規則:

一、 用最短字元表示最準確的意義。

二、 使用變數字首。

1、 整型字首

int               nId;           //int字首:n

short             sId;            //short字首:s

unsigned

 int      unId          // unsigned int 字首:un

long              lId;             //long字首:l

2、 浮點型字首

float              fValue;      //float字首:f

double             dValue;     //double字首:d

3、 字元型字首

char                chChar;    //char字首:ch

4、 字串字首

char                szPath;     //char字串字首:sz

string

              strPath;   //string字串字首:str

CString             strPath;   //MFC CString類字首:str

5、 布林型字首

bool                bIsOK;      //bool型別字首:b

BOOL                bIsOK;      //MFC BOOL字首:b

6、 指標型字首

char *              pPath;      //指標字首:p

7、 陣列字首

int                 arrnNum;                   //

陣列字首:arr

CString             arrstrName;    //陣列字首+型別字首+名稱

8、 結構體字首

STUDENT             tXiaoZhang;     //結構體字首:t

9、 列舉字首

enum                 emWeek;          //列舉字首:em

10、 位元組的字首

BYTE                 byIP;                   //位元組字首:by

11、 字的字首

DWORD              dwMsgID;        //雙字字首:dw

WORD               wMsgID;           //單字字首:w

12、 字元指標字首

LPCTSTR             ptszName;       //TCHAR型別為ptsz

LPCSTR              pszName;                  //pcsz

LPSTR               pszName;                  //psz

13、 STL容器字首

vector        vecValue;          //vector容器字首:vec

14、 RECT矩形結構字首

RECT                 rcChild;              //rc

CRECT                rcChild/             //rc

15、 控制代碼字首

HWND                hWndDlg;         //h

HBRUSH              hBr;                    //h

HPEN                hPen;                 //h

HBITMAP             hBmpBack;       //h

16、 Windows顏色字首

COLORREF            crFont;               //cr

17、 Windows DC字首

CDC                 dcClient;           //dc

三、 類的成員變數以m_開頭,後面為變數,變數同時還要加字首。

CString                 m_strName;    //m_開頭+型別字首+名稱

四、 定義一個變數,為了簡化,在不影響變數意義的情況下,可僅僅使用字首。

RECT                    rc;

五、 全域性變數一律以g_開頭,後面為變數,變數同時還要加字首。

int                     g_ID;                  //g

六、 定義結構體,保證CC++相容,採用typedef語句,並且結構體型別全部大寫,以T_開頭,指標形式以PT_開頭。

typedef            struct       tag TSTUDENT

{

         int            nId;

         CString     strName;

}STUDENT,*PSTUDENT;

STUDENT                  tXiaoZhang;     //完整定義結構體

七、 變數由多個單片語成,則每個單詞的首個字母大寫。

int                       nStudentID;

CString                   strStudentName;

八、 定義一個類以C或者T做為類名字首。

class                     CMyListCtrl;

class                     TMyListCtrl;

九、 MFC控制元件繫結值類別或者控制元件類類別,需要以m_開頭並且加字首。

CEdit                      m_EDT_strValue;              //Edit繫結控制元件類別

CListBox                   m_LB_nName;                     //ListBox

CListCtrl                  m_LC_Name;                     //ListCtrl;

CComboBox                  m_CB_Name;                    /ComboBox

十、 控制元件ID儘量簡化並表明控制元件型別和意義。

Button                     IDC_BTN_NAME;

Edit                       IDC_EDT_NAME;

ListBox                    IDC_LB_NAME;

ListCtrl                   IDC_LC_NAME;

ComboBox                   IDC_CB_NAME;

http://www.zhangliangyi.com/post/18.aspx