C_C++变量命名规则
变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则:
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;