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,有一说一,实用性真的强!!!!