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_BNT_NAME;
Edit IDC_EDT_NAME;
ListBox IDC_LB_NAME;
ListCtrl IDC_LC_NAME;
ComboBox IDC_CB_NAME;