變量命名規則是為了增強代碼的可讀性和容易維護性。以下為C++必須遵守的變量命名規則:
-
變量名只能是字母(A-Z,a-z)和數字(0-9)或者下划線(_)組成。
-
第一個字母必須是字母或者下划線開頭。
-
不能使用C++關鍵字來命名變量,以免沖突。
-
變量名區分大小寫。
變量命名規則:
一.用最短字符表示最准確的意義。
二.使用變量前綴。
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
18.STL
說明:vec表示vector容器的前綴,為了簡化變量,變量體后面不再使用前綴
vector<int> vecValue;
list<double> lstInfo;
三.類的成員變量以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_BNT_NAME;
Edit IDC_EDT_NAME;
ListBox IDC_LB_NAME;
ListCtrl IDC_LC_NAME;
ComboBox IDC_CB_NAME;