您的位置:首页 > 其它

起个名字好难:关于变量命名的思考与总结

2015-10-09 20:44 274 查看
最近半年多,随着编写代码工程变大,代码行数也在增加。类名、函数形参、成员变量名、全局变量等等开始变得混淆不清,自己也有时搞不清变量的意义、作用域等等。故,在网上翻阅了大牛们关于变量命名的一些文章,思考并总结了,写下了这篇关于代码中变量命名的文章。希望与所有与我有共同困惑的人共勉。

一、语法过关

在所有关于语言类入门书籍中,一般最开始就会提到关于命名的语法规则,C++的语法规则大致如下:

1、 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。

2、 第一个字母必须是字母或者下划线开头。

3、 不能使用C++关键字来命名变量,以免冲突。

4、 变量名区分大小写。
二、名字体现含义

这个不用多说,道理也很简单。如果变量名没有体现含义的话,后期会对变量意义产生混淆,比如所int i,大家根本不知道这个i到底是干什么用的。

三、变量名体现类型
对于很多新手(包括以前的我),在举个很简单的例子,命名一个int型变量wage,表示员工的工资。当代码量很少时,你看下定义,就知道这个变量表示的是整型数据,而代码行数很多的时候,代码中又充斥着各种类型的变量时,很容易产生混淆。一些常用的类型的前缀如下:

1、 整型前缀

int iId; //int前缀:i

short sId; //short前缀:s

unsigned int uId //
unsigned int 前缀:u

long lId; //long前缀:l

2、 浮点型前缀

float fValue; //float前缀:f

double dValue; //double前缀:d

3、 字符型前缀

char cChar; //char前缀:c

4、 字符串前缀

char szPath; //char字符串前缀:sz

string sPath; //string字符串前缀:s

5、 布尔型前缀

bool bIsOK; //bool类型前缀:b

6、 指针型前缀

char * pPath; //指针前缀:p

7、 数组前缀

int arrnNum; //数组前缀:arr

8、 结构体前缀

STUDENT tXiaoZhang; //结构体前缀:t

9、 枚举前缀

enum eWeek; //枚举前缀:e

10、 字节的前缀

BYTE byIP; //字节前缀:by

11、 字的前缀

DWORD dwMsgID; //双字前缀:dw

WORD wMsgID; //单字前缀:w

12、 STL容器前缀

vector vecValue; //vector容器前缀:vec

四、全局变量命名

全局变量一律以g_开头,后面为变量,变量同时还要加前缀。

五、成员变量命名

成员变量统一加_前缀。例如整型成员变量,定义为_iAge。

其它类型的规则还有很多,这里没有一一列举了。上述也有部分内容是直接从别处复制过来的,故文章定为转载类别。更多关于变量命名的建议,可以百度搜索获取,我不再一一列举。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: