给数字加上注解
程序员文章站
2022-04-27 18:50:15
...
说明
- 数字无法表明其自身的含义,只有字符串能够表示,例如:源程序中的一些具体的数据,除了代码的作者之外,其他人可能根本不知道这些数据的含义是什么,有人把这些具体的数据称为幻数/魔数,幻数/魔数的存在会影响代码的可读性。
处理方式
- 简单,独立的使用,例如:
* 变量定义
int a = 1;
* 判断
if (a > 1)
* 这些情况下通常会利用宏定义来代替这些幻数/魔数,例如:
定义:#define MAX 1
使用:a = MAX; if (a > MAX)
- 数组使用,例如:
* GUI编程需要定义5个按键,Class,Pop,....
定义:button[5];
使用:button[0].txt = ""; button[1].txt = "";
* 这种写法不灵活,并且使用时容易弄混,如果需要交换一下,改动起来要非常细心;可以使用枚举来优化,如果还有额外的信息,可以通过数组或者map进行映射,button的txt属性都不同,改善如下:
enum ButtonItem{
Min = -1,
Class,
Pop,
....,
Max,
}
char **ButtonTxt[Max - Min] = {
"Class",
"Pop",
....,
}
定义:button[Max - Min];
使用:
1. 通用的设置可以通过遍历实现
for (i = (ButtonItem)0; i < Max; i++)
button[i].color = "";
button[i].txt = ButtonTxt[i];
2. 不通用的设置可以单独设置
button[Class].txt = "";
* 注意点:
1. 枚举中的Min和Max是额外添加的范围界定标示,从而能够实现枚举的遍历。
2. 枚举项的值不能手动改变,因为需要连续,遍历时才不会出错。
上一篇: Linux社区代码风格