硬编码与非硬编码(软编码)区别

在计算机程序中, 硬编码是指将可变变量用一个固定值来代替的方法, 使用这样方法,编译后,如果想更改词变量就变的非常困难。因此, 在大部分的程序语言中,可以将一个固定值定义为一个标记, 然后用这个特殊的标记来取代变量名称。 当标记名称发生改变时, 变量名不变。这样在程序进行编译时,所有的变量都不再是固定值 这样就更容易实现改变变量的目的。

所以在通常情况下, 应该避免使用硬编码方法:

例如:

java 例子:

硬编码: if(a==2): return false:

非硬编码: if(a==b):return false:

硬编码通常来讲: 就是把数值写成常数,而不是变量

C++ 例子

硬编码:

for(int I = 0; I<120; i++){

       ...

}

非硬编码:

#define MAX_USER_CNT 120

for (int i=0; i<MAX_USER_CNT; i++){

       ...

}

这里的120就属于数字式“硬编码”,这不仅让程序很难读,而且不易维护。如果要修改120,就的修改程序中所有与此有关的120。应将数字式“硬编码”声明成一个宏,这样程序不仅易读,而且还可以一改全改。

软编码比硬编码要复杂一些,对以后的考虑要周到一些。软编码是一种设计,而硬编码不过是一种具体的实现。软件开发不只是需要一个软件的实现,更需要软件能够很好的修改,方便得扩展,所以需要一些设计技巧在里面。

猜你喜欢

转载自my.oschina.net/u/2272631/blog/1633869