什么是硬编码?






     所谓硬编码,hardcode,就是把一个本来应该(可以)写到配置信息中的信息直接在程序代码中写死了。






     例如,写了一个收发邮件的程序,用户名,密码,服务器地址等最好做成外部配置, 但是如果直接写死在程序代码中,每次改信息时需要重新编译了……这种程序不好维护。一般懒的程序员或者初学者这种程序产量较大。




    在计算机程序或文本编辑中,hardcode(这个词比hard code用起来要频繁一些)是指将可变变量用一个固定值来代替的方法。






     用这种方法编译后,如果以后需要更改此变量就非常困难了。






    大部分程序语言里,可以将一个固定数值定义为一个标记,然后用这个特殊标记来取代变量名称。当标记名称改变时,变量名不变,这样,当重新编译整个程序时,所有变量都不再是固定值,这样就更容易的实现了改变变量的目的。






     尽管通过编辑器的查找替换功能也能实现整个变量名称的替换,但也很有可能出现多换或者少换的情况,而在计算机程序中,任何小错误的出现都是不可饶恕的。






     最好的方法是单独为变量名划分空间,来实现这种变化,就如同前面说的那样,将需要改变的变量名暂时用一个定义好的标记名称来代替就是一种很好的方法。






     通常情况下,都应该避免使用hardcode方法。有时也用hardcode来形容那些非常难学的语言,比如C或者C++语言,相对的,用softcode来形容象VB这类简单好用的程序语言。




    hardcode就是固化的代码。有的代码不能写死,不然修改起来很麻烦。比如说写链接写死www.abc.com,所有的地方都用这个,如果下次域名变了,那么就要找到所有的www.abc.com修改成新的域名。






      但是如果用一个常量来存放www.abc.com,然后所有链接都引用常量,那么以后修改就只要修改常量了。