编码修养系列----标识符名称定义必学篇


程序员尼克

1、系统化定义变量名

  • 作用很简单,可以避免混淆
数字(num) num1,num2
名称(name) name1,name2
临时变量 temp1,temp2

2、用匈牙利表示法命名变量

  • 变量名的第一个字符体现变量特性。
    我们要牢记这种惯例,直接举例:
int iNumber;//为整型变量添加字符i作为前缀
int iCounter;//i来自英文中表示整数的单词integer

p和ptr来自单词pointer

pMyPointer
ptrMyPointer

3、用变量名前缀表示变量数据类型

前缀示例 前缀含义
a 数组
arr 数组
b bool,布尔型变量
c character,字符型变量
d double型变量
f float型变量
fd 文件描述符
fp 文件指针型变量
h handle,句柄
i int,整数型变量
n int,整数型变量
p 指针型变量
pfn 函数指针
r 引用型变量
s String,字符串型变量
str CString型变量
u 无符号整型(unsigned int)变量
w word型变量 = 无符号整型
iNum1 = dNum2 +dNum3;
  • 很明显能猜测出来iNum1是整型,其他俩是浮点型对吧,效果显著

4、用变量名前缀表示变量存储类型

  • 这个也很重要哦,也是一种惯例
前缀示例 前缀含义
a 自动(auto)变量
s 静态(static)变量
g 全局(global)变量
e 外部(extern)变量
r 寄存器(register)变量
static int siMyNum;
register int riCounter;
  • 应该能该猜测到,siMyNum是静态整型变量吧
  • 有时也可以用下划线区分变量的存储类型和数据类型:
/*用下划线区分存储类型*/
global unsigned char g_ucMynum;

/* 用下划线区分层级和数据类型 */
global unsigned char g_uc_mynum;

5、用函数名前缀表示函数功能

5.1 添加函数名前缀有助于推测函数功能

前缀示例 前缀含义
GetNumber() Get表示该函数用于获取数字
SetNumber Set表示该函数用于设定数值
MaxNumbe() Max表示该函数用于获取所有数字中的最大值
PutNumbe() Put表示该函数用于存储数字

5.2 程序员常用的前缀

前缀 前缀含义 示例
Avr 计算平均值 AvrOfTot
Cnt 计算数据个数 CntAllthing
Check 检查某数值 CnkData
Get 获取某数值 GetData
Set 设定某数值 SetData
Is 用于提出"是什么"的疑问 IsKey
Key 从数据中只获取关键字的值 KeyPaymentTable
Max 计算最大值 MaxOfData
Mid 计算中间值 MidOfData
Min 计算最小值 MinOfData
  • 添加前缀名时要注意,应当按照英语和中文的语序,即“动词+宾语”这种形式命名
CheckData();
SetNumber();
  • 这样命名,最先看到前缀,更便于掌握函数功能

6、小结

原来给变量命名还要那么多门道,真的是让我大开眼界了。本章介绍了很多惯例,和一些命名规则,相当有用,实践性很强!!
篇幅有限,下面还会有II,有一说一,实用性真的强!!!!

猜你喜欢

转载自blog.csdn.net/weixin_43722052/article/details/111027594