当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

汽车对冰激凌过敏与CMS系统新记录BUG

发表于: 2010-10-31   作者:bardo   来源:转载   浏览次数:
摘要: 汽车对冰激凌过敏一天,某汽车制造厂总裁收到一位汽车用户的抱怨信,信中写道:   “总裁先生,这是我第二次给您写信。我不会责怪您没有答复我提出的问题,因为这个问题实在太荒诞了。但它确是事实,我想再重述一次——   我家一向有晚餐后吃冰淇淋的习惯。由于冰淇淋有许多种,所以当大家一致同意吃那一种时,我便被催促开车去商店购买。最近,我买了一辆贵厂出产的汽车。从此以后,去商店就出现了一个奇怪的问题:每次

汽车对冰激凌过敏
一天,某汽车制造厂总裁收到一位汽车用户的抱怨信,信中写道:

  “总裁先生,这是我第二次给您写信。我不会责怪您没有答复我提出的问题,因为这个问题实在太荒诞了。但它确是事实,我想再重述一次——

  我家一向有晚餐后吃冰淇淋的习惯。由于冰淇淋有许多种,所以当大家一致同意吃那一种时,我便被催促开车去商店购买。最近,我买了一辆贵厂出产的汽车。从此以后,去商店就出现了一个奇怪的问题:每次我从商店买完香子兰冰淇淋回家时,汽车就起动不了;但我买其它种类的冰淇淋时,车子却起动得很好。不管这个问题有多么荒唐,我还是想让您知道我对这一问题是非常关注的。是什么原因使得我买香子兰冰淇淋时汽车起动不了,而买其它冰淇淋车就容易起动呢?真切希望您能派人来解决一下。”

  这确是一个十分罕见而有趣的问题。尽管总裁感到半信半疑,但他还是派了一个工程师前去查看。

  使工程师很惊讶的是,提出这个问题的竟是一位受过良好教育的男子。这位男子安排他在晚饭后开始工作。晚上,他们跳上汽车去冰淇淋店,也是买香子兰冰淇淋。返回时,车子果然起动不了。之后,工程师又连续去了三个晚上。第一个晚上,车主买巧克力冰淇淋,车起动了;第二个晚上,买草莓冰淇淋,车也起动了;第三个晚上,他们买香子兰冰淇淋,车起动不了。

  工程师绝不相信这部车会对香子兰冰淇淋过敏。于是,他又调来了几种不同型号、不同厂家的汽车,采用了相同的方法实验了三天,结果还是一样:买香子兰冰淇淋时,汽车起动不了,而买其它种类的冰淇淋,则能很好起动。

  现在的问题已不在这部车本身,而是所有的汽车都对香子兰冰淇淋过敏。工程师依旧不相信这会是事实,他开始了更深入的探究。每次他都作详细记录,写下相关的各种数据,如日期、所用汽车类型、汽车往返时间,等等。但仍没有发现什么令人惊喜的线索。一个月过去了,工程师一直没有停止思维的运转。终于有一天,他发现了问题所在,即车主买香子兰冰淇淋所花的时间比买其它冰淇淋所花的时间要短。

  这又是为什么呢?原来答案在冰淇淋店的货架上。香子兰冰淇淋很受顾客欢迎,所以分箱时将其摆放在货架前面,容易取货付货;而其它冰淇淋则都堆在货架后面,这就需要花较长的时间去找。于是,问题就变成了:为什么车停很短时间就起动不了。工程师进一步研究,找到了原因所在。即,不是因为香子兰冰淇淋有何神秘之处,而是因为汽锁使车子起动不了。每天晚上买其它冰淇淋时,都需要更多一段时间,而这段时间可使汽车充分地冷却以便起动;但当车主买完香子兰冰淇淋时,汽车引擎还很热,所产生的汽锁耗散不掉,因而汽车起动不了。

  原因找到了,由“这部汽车为什么对香子兰冰淇淋过敏”,到“为什么所有汽车都对香子兰冰淇淋过敏”,工程师采用了“求同法”,即在众多的先行情况中,找到一种唯一相同的情况。而由“为什么所有汽车都对香子兰冰淇淋过敏”到“为什么车停时间短就起动不了”,他则运用了“求异法”,即在众多与被研究现象相关的先行情况中,找到一种唯一不同的相关情况。正是借助这两种基本的探求因果联系的逻辑方法,工程师使问题得以转换,从而发现了使汽车“过敏”的真正内幕。

CMS系统的新记录BUG?

    一个使用了多年的CMS系统,突然有一天,公司内有人提出存在BUG。原因是新发的新闻标题后的日期不在()中,而是括号变成了))。    
    这和汽车过敏一样,为什么偏偏只有这一条过敏呢?一个已使用多年的系统,程序BUG的可能性已是极小。但仍是仔细查看了源码,没有问题。
    于是想到了数据本身。结果发现,所发新闻标题中,竟有一个上标的TM,这是一个UNICODE字符。网页本身是UTF8编码格式,按理说也没有问题。然而,最大的问题却真的藏在这里。经过使用HEX编辑器查看源文件发现,标题结束时,还有一个上标TM,HEX编码(3F),罪魁祸首就是它。当它与(组合时,即产生了另一个不可见字符,不仅如此,还使得后面的")"出现了重复。当然,这是操作系统本身的BUG,程序无法改变操作系统的原有的错误。但我们可以改变一下数据。当清除了本条新闻标题后的上标TM之后,显示正常。    汽车对冰激凌过敏与CMS系统新记录BUG,这两个似呼完全不相干的事情,却蕴藏着一个相同的道理:BUG就是设计缺陷,一个表面看来无BUG的系统,在特定坏境,好特定的数据场合,就会出现 。这类BUG最大的问题是难以重现,由此,必须模似相同的数据,而要查清这类BUG也需要从数据上着手。
   
    这或许,也算是一个查找BUG的技巧吧。                                                            

汽车对冰激凌过敏与CMS系统新记录BUG

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
网站静态化一直是SEO重点关注对象。静态化有好有坏,最大的好处是收录迅速,坏处是纯静态的HTML页面
java开源j4cms内容管理系统 cms 有新样式了,现在一共有3个样式了,继续增加中,页面直接可添加菜单
网站静态化一直是SEO重点关注对象。静态化有好有坏,最大的好处是收录迅速,坏处是纯静态的HTML页面
InfoGlue infoglue是一个高级的、可扩展的、 健壮的内容管理系统,完全用Java开发。重要的功能包括
<img alt="Java开源CMS系统 (一)" title="Java开源CMS系统 (一)" src="http://img.it610.com
<select id="stacked-state" style=" font-family: "Microsoft YaHei"; "> <option>分
最近晚上抽空忙了两个月,才把一个小系统做完。虽然做的不是太完美,但是学到了不少新的应用技术。
小总结:在汽车租赁系统中用到了类的方法,构造函数,值类型,和引用类型 使用集合储存数据,并能使
汽车租赁系统 1.任务描述 ①租车:显示系统中所有可出租的汽车,选中要出租的汽车,输入租用人已出租汽
1.租车 显示系统中所有可出租的汽车,选中要出租的汽车,输入租用人以出租汽车,如图所示 2.还车 在
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号