C_C++变量命名规则
2015-11-03 16:56
309 查看
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;
http://blog.sina.com.cn/s/blog_8a7012cf01017h9p.html
相关文章推荐
- C++ primer 学习笔记——字符串
- 字节对齐
- C++标准转换运算符reinterpret_cast
- C++单元测试一:并非看上去那么简单——几个很实际的问题
- 使用C++复制文件
- cppunit使用详解
- 在使用cppunit,搭建测试环境时遇到的问题以及解决办法(仅供参考)
- C++设计模式[二]单例模式
- 算法学习笔记
- Effective C++读书笔记-----术语
- 黑马程序员-------C语言回顾-整型变量修饰符和一维数组
- 日志库EasyLogging++学习系列(10)—— 日志文件滚动
- C语言和设计模式(策略模式)
- 第一次写程序
- c语言学习之基础知识点介绍(十二):结构体的介绍
- 创建 Win32 应用程序 (C++)
- C++primer第五版第一章学习笔记
- 使用const引用传递来提高效率
- <Effective C++>读书笔记-7
- C++ 强制类型转换 static_cast<new_type>(expression)