C/C++变量命名规则,个人习惯总结【转载】
C_C++变量命名规则
原文地址:http://blog.sina.com.cn/s/blog_8a7012cf01017h9p.html
变量命名规则是为了增强代码的可读性和容易维护性。以下为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;
C/C++变量命名规则,个人习惯总结【转载】的更多相关文章
- ZT C/C++变量命名规则,个人习惯总结
C/C++变量命名规则,个人习惯总结 (2012-10-31 13:48:10) 转载▼ 标签: c/c变量命名规则 c语言变量命名 c变量命名 规则规范 it 分类: C/VC C_C++变量命名规 ...
- C++变量命名规则
转自:http://www.cnblogs.com/finallyliuyu/archive/2010/09/25/1834301.html 浅谈C++变量命名规则 不知道别的公司如何,反正我现在的公 ...
- 「C语言」常量和变量的表示、应用和变量命名规则
在程序运行中,其值不能改变的量成为常量. 在基本数据类型中,常量可分为整型常量.实型常量.符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下: 目录: 一.常量 二.C语言标识符 三.变 ...
- Java学习笔记(基本数据类型和变量命名规则)
java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...
- C/C++变量命名规则
变量命名规则是为了增强代码的可读性和easy维护性. 变量命名规则: 一.用最短字符表示最准确的意义. 二.使用变量前缀. 1. 整型前缀 int nId; ...
- 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则
小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...
- JavaScript 基础(一) - JavaScript的引入方式,JavaScript 变量命名规则,JS 的五种基本数据类型,ECMAScript 算数运算符,逻辑运算符
JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- google 变量命名规则简要记录
1.文件命名规则 好的文件名命名可以很清晰的看出这个文件将要承载的内容,Google给出的规则为:文件名要全部小写, 可以包含下划线 (_) 或连字符 (-). 按项目约定来, 例如:cmd_save ...
- C_C++变量命名规则
变量命名规则是为了增强代码的可读性和容易维护性.以下为C++必须遵守的变量命名规则: 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成. 第一个字母必须是字母或者下划线开头. 不 ...
随机推荐
- PPA(Personal Package Archives)简介、兴起、使用
1.简介 PPA是Personal Package Archives,个人软件包文档,是默认情况下并未被包含在Ubuntu中的软件的一个集合.通常这些存储库的侧重点是单个的程序,不过他们也可以包含更多 ...
- JavaScript笔记04——事件与回调
1.在浏览器中,大多数代码都是由事件驱动的(event-driven). 这和生物中的神经反射有点类似. 比如说,谷歌页面上的一个按钮, 当我们“按下”这个按钮的时候,将跳出如下界面. 那么你有没想过 ...
- 0801 RESTAPI设计,DRF 序列化
1.内容回顾 1.restframework serializer(序列化)的简单使用 QuereySet([obj,obj,obj]) --> JSON ...
- 登陆weblogic后页面控制台卡主
输入http://localhost:7001/console进入控制页面,能登陆进去,但是登陆进去后页面就马上卡死,可以看到页面头部,其余都显示不出来. 重启后启动访问,能够正常进入,关闭weblo ...
- python爬虫之urllib库
请求库 urllib urllib主要分为几个部分 urllib.request 发送请求urllib.error 处理请求过程中出现的异常urllib.parse 处理urlurllib.robot ...
- MySQL实习训练1
[转载]http://www.cnblogs.com/AndrewXu/p/4779648.html 1. 打开cmd,输入,回车 mysql -uroot -p -P3306 -h127. 1)-u ...
- juniper防火墙清空配置恢复出厂设置命令
1. console进入防火墙之后,输入unset all ,然后选择 yes2. 然后输入 reset ,回车,选择 no ,再选择 yes .然后等待防火墙重启. 恢复出厂默认配置: 1.在Con ...
- poj2528线段树解题报告,离散化+线段树
题目网址:http://poj.org/problem?id=2528 题意: n(n<=10000)个人依次贴海报,给出每张海报所贴的范围li,ri(1<=li<=ri<=1 ...
- review38
Java程序中可以存在多个线程,但是在处理多线程问题时,必须注意这样一个问题:当两个或多个线程同时访问同一个变量,并且一些线程需要修改这个变量.这时可能发生混乱. 所谓线程同步就是若干个线程都需要一个 ...
- 关于Javascript没有块级作用域和变量声明提升
Javascript是没有块级作用域的,在语句块中声明的变量将成为语句块所在代码片段的局部变量.例如: if(true){ var x=3; } console.log(x); 结果输出3. 再如: ...