1. 程式人生 > >1.C++變數命名規則

1.C++變數命名規則

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

1、 變數名只能是字母(A-Z,a-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

六、 定義結構體,保證C和C++相容,採用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