本页使用了标题或全文手工转换

硬编码

维基百科,自由的百科全书
跳到导航 跳到搜索

硬编码英语:Hard CodeHard Coding)是指在软件实现上,将输出或输入的相关参数(例如:路径、输出的形式或格式)直接以常量的方式撰写在原始码中,而非在运行期间由外界指定的设置、资源、数据或格式做出适当回应。一般被认定是种反模式或不完美的实现,因为软件受到输入数据或输出格式的改变就必须修改原始码,对客户而言,改变原始码之外的小设置也许还比较容易。

但硬编码的状况也并非完全只有缺陷,因某些封装需要或软件本身的保护措施,有时是必要的手段。除此之外,有时候因应某些特殊的需求,制作出简单的应用程序,应用程序可能只会运行一次,或者永远只应付一种需求,利用硬编码来缩短开发的时间也是一种不错的决策。

实例[编辑]

产品引导码[编辑]

指的是某软件经常检查它的开发商网站,以确认该软件独一无二的产品引导码没有被列入黑名单或该软件属盗版软件,如果该开发商网站变更或改变域名,甚至开发商破产且关闭服务网站,则该软件便停止工作。上述情况是个严重的过失,因为网站消失或更动的状况被忽略,而导致软件无法在客户端的电脑上运行。

固定安装路径[编辑]

一些Windows软件在编写时,安装路径被强迫锁定在“C:\Program Files\Appname”之下,导致若不安装在该锁定目录下就无法顺利安装和运行。因为较少用户会将软件安装在非默认文件夹下,所以很多时候都不会碰到这个问题,但如果用户电脑内的Windows系列OS并无默认安装路径的磁盘分区(例如没有C:槽),则该用户便无法成功安装。

引导盘[编辑]

指的是某软件在引导时,经常检查存储在软盘上的某特殊文件,进以确定该软件是否为盗版。假设该电脑已升级成没有软盘驱动器的电脑,则该软件便无法运行,因为需外接和接受软件检验的软盘无处可读取。

在80到90年代,无法想像一台电脑没有软盘驱动器,但这在今天是很正常的事,因为软盘已被淘汰。如果某程序在数年前被硬编码,且没有发布任何更新以更正此瑕疵,则该程序便会面对很严重的问题。