跳转到内容

写死

本页使用了标题或全文手工转换
维基百科,自由的百科全书

写死hard-coding)是指在软体实作上,将输出或输入的相关参数(例如:路径、输出的形式或格式)直接以常数的方式撰写在原始码中,而非在执行期间由外界指定的设定、资源、资料或格式做出适当回应。一般被认定是种反模式或不完美的实作,因为软体受到输入资料或输出格式的改变就必须修改原始码,对客户而言,改变原始码之外的小设定也许还比较容易。白话来说就是指给定一个问题只会给出一种答案,每次给出的答案都是固定的。

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

实例

产品启动码

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

固定安装路径

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

启动盘

指的是某软体在启动时,经常检查储存在软碟上的某特殊档案,进以确定该软体是否为盗版。假设该电脑已升级成没有软碟机的电脑,则该软体便无法执行,因为需外接和接受软体检验的软碟无处可读取。

在80到90年代,软盘驱动几乎是电脑标配,但这在今天软碟已被淘汰。如果某程序在数年前被写死,且没有发布任何更新以更正此瑕疵,则该程序便会面对很严重的问题。