Bug的意思就是程序设计之外的错误。
简单的说就是你这个程序设计的很好,把所有可能性都想了一遍,没有问题。
结果真正运行的时候有了自己没有想到的问题。
且这种错误并不是必然出现的,甚至大部分时候是不会出现,程序可以正常运行,但是偶尔会出错。但是恰恰是这种偶尔出现的错误却很严重。甚至可以成为被他人利用的漏洞。
例如你有一个考勤软件,计算每天加班时间,就是下班时间-上班时间。但是总有一些异常情况是在你设计之初没有考虑的。
例如你考虑来了把只有上班下班的当做缺勤处理。
而有些人临时请假,出现了两次上班,两次下班,你还是按照下班-上班 那就有问题。
还有一些人,正常上班,第二天凌晨下班。按照你的程序,那就得算缺勤了。
这个第二天上班的就可能成为bug,最终就是有人的总考勤时间少了。有人缺勤了。
再者,你考勤按照上班时间晚于规定时间算迟到,早于下班时间算提前下班。
那如果有人调休呢?
今天上上半天,过几天上下半天。实际一天,但是计算出来都是两天迟到或者早走。
等等。
这些都是设计程序的时候会出现的问题,也就是你设想的可能,和实际有差异。大部分时候,大家都是正常上下班,于是你的程序对于大多数人是没有问题的,但是到了那些半夜下班的人就出问题了。这就是意想不到的错误。
错误有些时候会影响程序运行,有些时候可以被人利用。
有些时候是设计者自己没考虑周全,有些是设计者意想之外的。
简单的说就是,你不希望发生的事情,会发生。
网友评论