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

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

一、语法过关

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

1、 变量名只能是字母(A-Za-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。    

    其它类型的规则还有很多,这里没有一一列举了。上述也有部分内容是直接从别处复制过来的,故文章定为转载类别。更多关于变量命名的建议,可以百度搜索获取,我不再一一列举。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值