神奇的 Dreamweaver 8KB bug

不久前Adobe公司退出中国的消息是令人伤心的。Adobe是个优秀的公司,开发出了令人惊叹的优秀软件,除了广为人熟知的Photoshop外,Web开发人员应该都接触过它的另外一款惊世骇俗的Dreamwearver,这款开发网站的利器对于初学网页开发的程序员更为重要,但即使像我这样有很长Web开发历史的老程序员来说,也经常会使用Dreamwearver来调整页面格式和校验代码。

Adobe退出中国是无奈的。因为我使用的也是盗版的Dreamwearver软件,我也知道盗版是可耻的,我想,如果我能再富裕一点,一定要买个正版的,支持正版软件,因为我也是开发软件的,如果有一天我也开发出来一款流行软件,自然也不希望别人盗版。

Dreamwearver这些年更新了很多种版本,从1.0到8.0,从CS3到CC,功能越来越强,用的也越来越方便。当然,软件无论做的如何完美,总还是有bug可以挑出,这就是软件开发更古不变的死咒。

最近在网上看到一个有趣的讨论,很多用户在使用Dreamweaver CS3时会在启动时遇到启动时崩溃的情况。Adobe官方甚至把它列为“常见问题”,给予官方说明。

说明中显示,有3种问题会导致Dreamweaver在启动时崩溃,一个是因为跟宏碁电脑中自带的数据安全管理工具冲突,第二个是因为缓存文件受到污染。第三个最有意思,叫做“The 8KB bug”:

This is a very rare bug that causes Dreamweaver to crash during operation, and then crash repeatedly each time you try to restart the program. It normally affects only Dreamweaver CS3 on Windows, and is caused by the presence of a file that’s exactly 8,192 bytes (8KB) or a multiple thereof.

就是说,当一个文件的体积刚好是8,192 bytes (8KB)时,如果用Dreamweaver打开它,会立即引起Dreamweaver的崩溃。听起来很荒诞,也很有趣,但做作为一个程序员的我,深知软件软件开发过程中比这更荒诞的事情都是正常的。程序员的价值正是体现在跟这些莫名其妙的bug做斗争的过程中。

对这个bug,我是一笑了之,但Adobe对这个bug提供的临时解决方案却让我思考,它提供的方案是:

用其它编辑器把文件打开,在里面添加几个空格或空行,或其它方法,总之是让文件的体积不是刚好8,192 bytes,就行了

似乎也是很搞笑的方案。但我突然想到,在开发软件的过程中,会遇到这样的情况,软件里出现了一个bug,很严重,很急迫,如果要完全从软件内部纠正,需要一段周期,但有一个很简单的外部方法能绕过这个bug。做为程序员,我通常会给领导提建议,不要加班加点的更正这个bug,先让用户委屈一下,使用这个临时方案避免这个bug,为我们争取足够的时间用正常的软件修改流程(评估-设计-修改-测试-提交),也不需要兄弟们这么加班加点的辛苦,而且软件质量也有更好的保证。但很少有领导能认同这个做法的。

程序员和经理的思考方向从来都是很难统一,各自有各自的利益出发点。程序员朋友们,你们怎么看待这个问题?

附:The 8kb bug 官方解释

原文:http://www.vaikan.com/dreamweaver-8kb-bug/

Sidebar