C/C++變數命名規則,個人習慣總結
C_C++變數命名規則
變數命名規則是為了增強程式碼的可讀性和容易維護性。以下為C++必須遵守的變數命名規則:
1、 變數名只能是字母(A-Z,a-z)和數字(0-9)或者下劃線(_)組成。
2、 第一個字母必須是字母或者下劃線開頭。
3、 不能使用C++關鍵字來命名變數,以免衝突。
4、 變數名區分大小寫。
變數命名規則:
一、 用最短字元表示最準確的意義。
二、 使用變數字首。
1、 整型字首
int nId; //int字首:n
short sId; //short字首:s
unsigned
long lId; //long字首:l
2、 浮點型字首
float fValue; //float字首:f
double dValue; //double字首:d
3、 字元型字首
char chChar; //char字首:ch
4、 字串字首
char szPath; //char字串字首:sz
string
CString strPath; //MFC CString類字首:str
5、 布林型字首
bool bIsOK; //bool型別字首:b
BOOL bIsOK; //MFC BOOL字首:b
6、 指標型字首
char * pPath; //指標字首:p
7、 陣列字首
int arrnNum; //
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