编码修养系列----标识符命名技巧必学篇

在这里插入图片描述

本文是接着上篇的命名规则写的,上一篇绝对满满的细节干货: link.

1、用有意义的名称命名

  • 举个例子,你自己觉着这种命名有啥含义吗?输入值,输入个啥类型呢??????
int input1,input2,input3,input4,input5;
int input6,input7,input8,input9,input10;
....
  • 采用有意义的变量名:
/* 个人装备组件的个数*/
/*变量前面的 i 表示变量是 int 型*/
/*No表示该变量存储的个数*/
/*Helmet表示变量存储的是头盔(helmet)的个数*/
int iNoHelmet;
int iNoRifle;
int iNoRifleshot;
int iNoArmyknife;
  • 最后强调一下,标识符的名称一定要有意义。

2、不要使用相似的变量名

  • 使用相似的变量名,编程过程中容易混淆,比如:
/* 说实话,我自己看着都晕,代码多起来的话*/
int num;
int number;
  • 如何避免呢??
  • 可以在原名称后面添加前缀或后缀,或者添加恰当的英文字母:
int number_01;//加数字
int number_02;

int day_yy;//加字母
int day_mm;
int day_dd;

int iTotal;//前缀有时比后缀有效
double dTotal;

3、在不影响含义的前提下尽可能简短命名

  • 不论是变量还是函数命名,差不多得了,别搞太长,简短有效就行
    程序员惯用缩写:
单词缩写
functionfunc
numbernum
dayd或dd
monthm或mm
yeary或yy
temporarytemp
terminateend
terminalterm
  • 挺实用的,默默记住就行,下次别问那么多为什么了,惯例

4、用下划线和大小写区分较长变量名

  • 变量名太长了,最好将单词加以区分
  • 两种方法,加下划线标注,或将单词首字母大写
Break_control_system_panel();//加下划线标注
BreakConTrolSystemPanel();//将单词首字母大写
  • 第一种方法较常见,第二种方法的使用率高
  • 还有一种就是将单词缩写,并将首字母大写,用下划线区分不可缩写的单词
BrkCtlSys_panel();
  • 人们偏爱这种混合方法的原因是,缩写后的单词很容易被识别。

5、变量名不要以下划线开始

  • 这是强制规定,记住就行。
  • 一旦程序员用下划线作为变量名的开始,那么就相当于破坏了头文件编写者假定的先决条件,进而导致程序出现问题。

6、不要过度使用下划线

  • 遵循只使用一个下划线的原则。
  • 太多了,会把自己搞晕的,程序出错可能性会更大的

7、合理使用大小写命名标识符

7.1 程序员命名变量时区分大小写相关惯例:

  1. 变量和对象名以小写字母开始。
  2. 函数、类、结构体、共用体等名称以大写字母开头(包括方法)。
  3. 符号常量或宏函数名的所有字母均大写。
  • 这些惯例虽然不是强制性的,但几乎所有程序员都遵循
int myPhone;//变量
struct Student{//结构体
...
}
void Print();//函数名
#define PI 3.14//宏定义

7.2 不要滥用大小写区分

  • 下面这种写法虽然没有语法问题,但是可读性大大下降,阅读代码的人容易混淆
int iMyNumber = 10000;//大数值
int iMynumber = 10;//小数值
  • 区分大小写仅适用于下面的特殊情况
  1. 函数名或类名以大写字母开始
  2. 变量名以小写字母开始
  3. 符号常量名的所有字母均大写

9、不能用相同名称同时命名类和变量

  • 仅用大小写区分类名和变量名
class Myclass {
....
};

MyClass myclass;
  • 这段代码中,MyClass是用户自定义数据类型,之后的myclass是用相应数据类型声明的变量。区分并不是很明显。
  • 正确的做法是应该明确区分类名和变量名,并为变量名添加从类名截取的前缀
class MyClass {
...
};
MyClass mcFirstVar;//mc代表MyClass的前缀

10、小结

到这里,变量名命名的规则基本结束了,小细节很多,要想成为一名高级的程序员,这些细节都是必备的。加油,程序人!一起进步吧,欢迎大家给我指正,如有不对的地方。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕竟是shy哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值