疯子姓张

一定要站在巨人的肩膀上去学习。

导航

硬编码

        在计算机程序或文本编辑中,硬编码是指将可变变量用一个固定值来代替的方法。用这种方法编译后,如果以后需要更改此变量就非常困难了。大部分程序语言里,可以将一个固定数值定义为一个标记,然后用这个特殊标记来取代变量名称。当标记名称改变时,变量名不变,这样,当重新编译整个程序时,所有变量都不再是固定值,这样就更容易的实现了改变变量的目的。尽管通过编辑器的查找替换功能也能实现整个变量名称的替换,但也很有可能出现多换或者少换的情况,而在计算机程序中,任何小错误的出现都是不可饶恕的。最好的方法是单独为变量名划分空间,来实现这种变化,就如同前面说的那样,将需要改变的变量名暂时用一个定义好的标记名称来代替就是一种很好的方法。通常情况下,都应该避免使用硬编码方法。 
java小例子: int a=2,b=2;
硬编码:if(a==2) return false;
不是硬编码 if(a==b) return true;
一个简单的版本:
顾名思义, 就是把数值写成常数而不是变量
如求圆的面积 的问题 PI(3.14)
3.14*r*r (这个3.14就是hardcode)
PI*r*r (这里的PI用的是变量形式,就不是hardcode)
C++例子:
int user[120];
如果突然在程序中出现下面一段代码
for (int i=0; i<120; i++){
...
}
120是什么,为什么是120?这里的120就属于数字式“硬编码”,这不仅让程序很难读,而且不易维护。如果要修改120,就的修改程序中所有与此有关的120。应将数字式“硬编码”声明成一个宏(全局配置文件,propertities),这样程序不仅易读,而且还可以一改全改。
#define MAX_USER_CNT 120
for (int i=0; i<MAX_USER_CNT; i++){
...
}

posted on 2017-11-07 07:28  菠萝奶油饭  阅读(856)  评论(0编辑  收藏  举报