1、系统化定义变量名
数字(num) | num1,num2 |
---|
名称(name) | name1,name2 |
临时变量 | temp1,temp2 |
2、用匈牙利表示法命名变量
- 变量名的第一个字符体现变量特性。
我们要牢记这种惯例,直接举例:
int iNumber;
int iCounter;
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,有一说一,实用性真的强!!!!