编程规范_变量命名
C++变量命名规则
- 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。
- 第一个字母必须是字母或者下划线开头。
- 不能使用C++关键字来命名变量,以免冲突。
- 变量名区分大小写。
常用命名规则
用最短字符表达最准确的意义
使用变量前缀
- 整形前缀
int nNum;
short sNum;
unsigned int unNum;
long lNum;
- 浮点型前缀
float fValue;
double dValue;
- 字符型前缀
char chValue;
- 字符串前缀
char szPath[2];
string strPath;
CString cstrPath;
- 布尔型前缀
bool bIsOk;
BOOL bIsOk;
- 指针型前缀
char* pcPath;
unsigned char* pucPath;
unsigned int* punPath;
- 数组前缀
int arrnNum[3];
CString arrcstrName[3];
- 结构体前缀
STUDENT tJeff;
- 枚举前缀
tnum emWeek;
- 字节的前缀
BYTE byIp;
- 字的前缀
DWORD dwMsgID;
WORD wMsgID;
- 字符指针前缀
LPCTSTR ptszName;
LPCSTR pszName;
LPSTR pszName;
- STL容器前缀
vector vecValue;
- RECT矩形结构前缀
RECT rcChild;
CRECT rcRect;
- 句柄前缀
HWND hWndDlg;
HBRUSH hBr;
HPEN hPen;
HBITMAP gBmpBack;
- Windows颜色前缀
COLORREF crFont;
- Windows DC前缀
CDC dcClient;
- STL
说明:vec表示vector容器的前缀,为了简化变量,变量体后面不再使用前缀。
vector<int vecValue;
list<double> lstInfo;
类成员变量
类的成员变量以m_开头,后面为变量,变量同时还要加前缀。
CString m_strName; //m_开头+类型前缀+名称
定义变量
为了简化,在不影响变量意义的情况下,可仅仅使用前缀
STUDENT sdt;
全局变量
全局变量以g_开头,后面为变量,变量同时加前缀
int g_nId;
结构体
保证C和C++兼容,采用typedef语句,并且结构体类型全部大写,以T_开头,指针行驶以PT_开头。
typedef struct tagTSTUDENT
{
int nId;
CString cstrName;
}STUDENT,*PSTUDENT;
STUDENT tZhangSan;
PSTUDENT ptZhangsan;
变量由多个单词组成
每个单词的首个字母大写
int nStudentId;
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;