C_C++变量命名规则
变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则:
1、变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。
2、第一个字母必须是字母或者下划线开头。
3、不能使用C++关键字来命名变量,以免冲突。
4、变量名区分大小写。
变量命名规则:
一、用最短字符表示最准确的意义。
二、使用变量前缀。
1、整型前缀
intnId;//int前缀:n
shortsId;//short前缀:s
unsigned intunId// unsigned int 前缀:un
longlId;//long前缀:l
2、浮点型前缀
float fValue;//float前缀:f
doubledValue;//double前缀:d
3、字符型前缀
char chChar;//char前缀:ch
4、字符串前缀
char szPath;//char字符串前缀:sz
stringstrPath;//string字符串前缀:str
CStringstrPath;//MFC CString类前缀:str
5、布尔型前缀
boolbIsOK;//bool类型前缀:b
BOOL bIsOK;//MFC BOOL前缀:b
6、指针型前缀
char * pPath;//指针前缀:p
7、数组前缀
int arrnNum;//数组前缀:arr
CStringarrstrName;//数组前缀+类型前缀+名称
8、结构体前缀
STUDENT tXiaoZhang;//结构体前缀:t
9、枚举前缀
enum emWeek;//枚举前缀:em
10、字节的前缀
BYTEbyIP;//字节前缀:by
11、字的前缀
DWORDdwMsgID;//双字前缀:dw
WORDwMsgID;//单字前缀:w
12、字符指针前缀
LPCTSTRptszName;//TCHAR类型为ptsz
LPCSTRpszName;//pcsz
LPSTR pszName;//psz
13、STL容器前缀
vectorvecValue;//vector容器前缀:vec
14、RECT矩形结构前缀
RECTrcChild;//rc
CRECT rcChild///rc
15、句柄前缀
HWNDhWndDlg;//h
HBRUSH hBr;//h
HPENhPen;//h
HBITMAP hBmpBack;//h
16、Windows颜色前缀
COLORREFcrFont;//cr
17、Windows DC前缀
CDCdcClient;//dc
三、类的成员变量以m_开头,后面为变量,变量同时还要加前缀。
CStringm_strName;//m_开头+类型前缀+名称
四、定义一个变量,为了简化,在不影响变量意义的情况下,可仅仅使用前缀。
RECTrc;
五、全局变量一律以g_开头,后面为变量,变量同时还要加前缀。
int g_ID;//g
六、定义结构体,保证C和C++兼容,采用typedef语句,并且结构体类型全部大写,以T_开头,指针形式以PT_开头。
typedef structtag TSTUDENT
{
intnId;
CStringstrName;
}STUDENT,*PSTUDENT;
STUDENTtXiaoZhang;//完整定义结构体
七、变量由多个单词组成,则每个单词的首个字母大写。
int nStudentID;
CStringstrStudentName;
八、定义一个类以C或者T做为类名前缀。
classCMyListCtrl;
class TMyListCtrl;
九、MFC控件绑定值类别或者控件类类别,需要以m_开头并且加前缀。
CEditm_EDT_strValue;//Edit绑定控件类别
CListBox m_LB_nName;//ListBox
CListCtrlm_LC_Name;//ListCtrl;
CComboBox m_CB_Name;/ComboBox
十、控件ID尽量简化并表明控件类型和意义。
ButtonIDC_BNT_NAME;
EditIDC_EDT_NAME;
ListBoxIDC_LB_NAME;
ListCtrlIDC_LC_NAME;
ComboBox IDC_CB_NAME;
http://www.zhangliangyi.com/post/18.aspx