友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
八二电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

疯狂的程序员-第19部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!


以前怎么没听你说过?”
    绝影哪敢给他讲很话,忙说:“没什么大不了的,回去我调研一下,估计还有些小BUG。”
    在公司做CASE就是这样,虽然公司要求所有BUG的发现和修正都要最终体现到软件开发文档里,但实际操作起来,往往是程序员发现了自己的BUG能隐瞒下来的都隐瞒下来,自己抽个时间或者加班把它修改了,这样给领导的印象要好一些。这和现在很多小煤窑的做法差不多,虽然上头三令五申要杜绝安全隐患,但事故总还是要发生的,虽然又说发生事故要如实上报及时补救,但小老板们总是能隐瞒不报就隐瞒不报,自己私下处理了事。你想真要是如实上报你一个小小煤窑一年12个月就报了二十多个事故上去明年的开采许可证还怎么可能拿得到?
    绝影说是小事,回到公司又看了半天都还是没搞明白,问题就出在调窗上,这个调窗原理说简单点其实就是把图像的一些属性调整一下然后重新绘制到DC上,小幅度地调整都没有问题,就是大幅度长时间调整最后显示图像的部分都会黑掉。先他以为是对WM_PAINT消息的处理有问题,这个就比较麻烦,系统经常要发送WM_PAINT这个消息,在里面下个断点或者加个MessageBox就一直要不停地弹出。搞了半天还是找不出个所以然。你想要是真是对这个消息处理出现了问题,那应该一早调窗就有问题才对。
    调试了几次,绝影发现系统变得越来越慢,打开任务管理器,乖乖,KIPACS居然占用了300多M内存。要知道KIPACS刚启动时不过只占用了17M内存。看样子像是内存泄漏。这样想,他继续调窗,调一下发现内存涨上去可又没降下来,果然是调窗的时候发生了内存泄漏。
    知道了原因解决起来就要快得多,原来是GetDC获取DC后没有使用ReleaseDC把它释放,这部分在WM_PAINT消息中,WM_PAINT消息又频繁发送,所以那内存泄漏起来真是要命得很。
    加上ReleaseDC,KIPACS终于可以流畅地调窗,看看任务管理器,内存占用基本稳定在20M。
    搞完这个BUG,绝影看看时间,已经是晚上9点多,公司的人早不知道什么时候都**了。这次的事情还是给绝影留下了深刻的教训以至于在很常一段时间,别人问他:“影头,你看看我这程序,怎么老是出问题阿?”他都会跟别人说:“先看看是不是有内存泄漏。”
    问题解决了,等到第二天周总来到公司,绝影便轻描淡写地对周总说:“昨天那个KIPACS需要重启的问题我已经解决了,是个小问题,内存泄漏。”
    所以什么叫打肿脸充胖子。明明昨天花了5;6个小时憋得几乎走投无路终于解决出的问题现在在老总面前却轻描淡写地说:“是个小CASE而已。”想BOSS Liu也许也是这样,自己不知道熬了几个通宵脑细胞不知杀死多少终于给做出个多线程出来,却轻描淡写地说:“多线程嘛,那个还不容易,二三十分钟就搞出来了。”两个人都是爱吹牛,好像自己能耐大得不得了,什么技术阿方法阿算法阿解决方案阿还不一切都尽在掌握中,原以为牛这样吹了,大家就决定自己有多了不起,结果最后受苦的是自己,开心的是老板,老板们正是利用了这种心理,他们会说:“不错不错,这么个大问题能这样快地解决,这个程序里面还有二十多个BUG,都是小问题,给你一天的时间够了吧。”
    周总对绝影反映的问题还是比较关心,他说:“内存泄漏这个问题是广泛存在的阿,这种问题又最不好调试。我给你介绍个软件吧,BoundsCheck,专门测试内存泄漏。”
    在以前,绝影绝对不会去关心别人介绍的什么软件,首先那软件是别人介绍的,自己又不熟悉,软件好不好阿,怎么用阿都要自己去摸索,特别是这个BoundsCheck一听就知道是个英文版的软件,还要拿金山词霸去翻译菜单或者网上到处去找汉化版,本来以为用这个软件能极大地提高劳动生产率,结果反而花在学习上的时间都远远超过了它提高的劳动生产率,这叫“磨刀误了砍柴工”。
    可这次绝影还是比较慎重,昨天虽然把问题解决了但实在把自己搞得太痛苦,也幸亏昨天开了任务管理器发现了问题,要不说不定把代码跟踪到太平洋还不知道问题在哪里。
    去网上下个BoundsCheck6 for VC,原来是大名鼎鼎的Numega公司出的,想能出SoftICE这样的软件的公司出的东西还能有假吗?就比如今天微软宣布出了一个新的操作系统,那还不成为各大网站的头条新闻。所以不仅是衣服,就是软件也有个品牌效应。
    那天在公司又调研了一整天,绝影第一次知道了“纯化测试”这个词。以后每次周总说:“OK,明天我们进行Purification。”绝影就跟大家翻译道:“好,明天我们进行纯化测试,没装BoundsCheck的把BoundsCheck装上,不会用的找我。”
    最近几天BOSS Liu在公司颇为得意,看来医院对KIREGIS试运行非常满意,要他修改的地方也很少。KIREGIS的代码一直是BOSS Liu在负责,绝影从来没去看,这也好,世界上最幸福的事情就是你把事情交给别人别人做好了交给你居然和你的要求一模一样,根本不用改。因为没什么事做,BOSS Liu正好潜心研究起C++来。
    本来有好多事情都是一样,会做容易做好难,就说这C++就算你是写了五六年程序的程序员,说函数模板、类模板、纯虚函数、虚基类这些东西你又用上了多少。BOSS Liu研究了一些这方面东西,再加上KIREGIS在医院取得了成功,觉得差不多火候已到,绝影也不过尔尔,不过就是汇编好一点吗?还是那句话,汇编不过100多个指令,有什么难的。
    可绝影总以为他对C++的研究应该仅限于“理论”上。
    两人见了面,BOSS Liu问:“你知道这个XXXX基类的构造函数会被调用几次么?”
    绝影自知肯定回答不上来,在这种情况下最好就不要去回答,BOSS Liu是有备而来故意刁难你,不是带着请教的,所以就算你侥幸答对了,也并不能让他对你钦佩的感觉油然而生;要是你答错了,就正中他的下怀,从此以后凡是有技术上的讨论,他总是会拿“你XXXX这个问题都不知道,还说个P呀”来压你。
    这正如鲁迅先生说的,一家人生了孩子,你说:“这孩子好呀,以后要当什么什么大官有多少多少钱。”那你是骗人的,可人家父母爱听。你说:“这孩子最后会死。”这是真话,可人家父母不爱听。怎么办,你最好就说:“呵,这孩子……你看……呵……哈哈……”
    所以绝影避开问题地重点,也打起哈哈来:“研究C++阿?有什么好研究的?我告诉你,C++能做到的,用汇编都能做到。汇编能做到,C++还有些做不到哦。”
    这是绝影的杀手锏。首先把问题转移到汇编上来。这方面他有几年积累,算是个小行家。再说的确在自定位和精确计算代码长度这两个技术上只有汇编能做到,这是高级语言的死穴。管它什么语言,他用这两点都能把它杀了。
    BOSS Liu很不服气地说:“我知道你那汇编,在Windows下不过是换成‘invoke’来调用API罢了。还能唬我。BOSS Jue,你去各大公司看看。你那玩艺过时了。”
    “你懂个P,存在就是合理,懂不?这是哪个大哲学家说的。”
    “我知道我知道。可你那玩艺就快连存在的价值都没有了。我问你,除非你搞病毒,还能有什么汇编能做高级语言不能做的?”
    这又将了绝影一军,每次他跟别人说:“我嘛,擅长汇编。”就最怕别人问:“你搞病毒的?”别人这样说,就好像说:“你这人,真长得就像个贼。”所以每次他都不得不跟别人讲一大堆什么汇编不一定搞病毒,除了搞病毒汇编还有什么什么用途,还能写什么什么程序。想了半天,绝影实在想不起汇编还有什么优势,但沉默下去就是认输,从此以后,BOSS Liu就可以名正言顺在他面前显摆C++,从此以后自己和汇编语言在公司中就再没有什么地位。请急之下,他忽然又想起大学时候做过的大数运算库,终于洋洋得意地说:“谁说没用了,我曾经把一个C++做的大数运算库算法原封不动地翻译成汇编,算1024位乘法速度居然提高了200倍。我用汇编,可以把大部分操作数都存到寄存器中,可怜的C++阿,还得全部存到内存中,做高级运算还是应该在一旁休息去吧。”
    说完这话,BOSS Liu沉默了。这是理论论据和事实论据都充分。本来汇编速度快这是毋庸置疑的,再加上绝影有写好的程序摆在那里,BOSS Liu从哪里驳都驳不倒。见他不说话,绝影大模大样往自己桌子上一坐,心里嘀咕着:“还跟我比C++,我汇编是通吃。”
    大概过了10分钟,BOSS Liu忽然跳起来大声说到:“BOSS Jue我差点让你给忽悠了,刚才忘记了CACHE。现在的CPU都有CACHE,CPU对CACHE的访问速度和寄存器差不多,C++会把经常使用的变量放CACHE里面,速度应该和汇编差不多才对。”
    绝影本来以为可以稳坐钓鱼台了,没想到BOSS Liu就是这么个不见棺材不掉泪的人,听他这么说还是有道理,至少从理论上讲应该是这样,这下他又解释不了实践上200倍的速度差,现在没有理论作为依据,就是牵强地去跟BOSS Liu解释也会把自己在这次争论中置于非常不利的地位。最后,还是绝影沉默了。
    从那次争论以后,BOSS Liu再也没给绝影夸过C++的好,也没再夸自己在C++上的造诣有多深。绝影也没再在BOSS Liu面前显摆汇编有多无所不能,自己汇编有多炉火纯青。两人都心知肚明,他们俩水平一般,要是继续在这语言孰优孰劣上争论,谁都没必胜的把握,如果输了,脸就丢大了。还不如好好再深造几年,到时再一比高低。
    很多年以后,绝影终于想到当初想不出来的问题:汇编语言使用寄存器并不是对寄存器访问比对内存访问更快,而是对寄存器寻址比对内存寻址更快。很多时候他想把这个告诉BOSS Liu,但他终于还是没告诉他。
    一晃两个月过去,绝影和BOSS Liu去医院对他们的软件系统作了两次例行维护和更新,医院的规模还算大,登记数据已经有三万多条,KIREGIS还是经受住了耐力测试。KIPACS经过绝影两次更新基本上也运行比较稳定。在领工资的时候,周总对绝影说:“XXX医院的CASE已经验收合格,这个月给你发500元的奖金。因为这个CASE的收入也不多,就你KIPACS贡献最大,所以奖金也就你有,对其它的人就不要声张了。”
    本来绝影觉得这么大的CASE忙了这么久才500元的奖金周总也真是太扣门了,但听周总这么说,绝影还心里笑着走出了他的办公室,恨不得立马当众大声宣布:“知道吗?XXX医院项目奖金500元,就我绝影一个人有!”
    BOSS Liu也进了办公室。周总还是说:“XXX医院的CASE已经验收合格,这个月发给你500元的奖金。因为这个CASE的收入也不多,就你KIREGIS贡献最大,所以奖金也就你有,对其它的人就不要声张了。”
    当然,BOSS Liu在出来的时候也恨不得力马当众大声宣布:“知道吗?XXX医院项目奖金500元,就我BOSS Liu一个人有!”
    大家一个二个领完工资,脸上都喜气洋洋。公司的电话响了,张厂长积极地抢着去接了电话,说了几句,回过头来说:“医院打来的,找绝影,好像程序有些问题。”
    绝影一下傻了。傻的不是程序有些问题,是医院居然指名点姓要找绝影,而且医院居然还知道“绝影”的名字,自己麻烦了。
    正文 《疯狂的程序员》30
     更新时间:2008…10…31 14:09:07 本章字数:4631
    见绝影吓得脸都变了色,BOSS Liu打趣的说:“想不到BOSS还是从原始部落出来的!据说有些原始部落就是怕别人知道你的名字,别人知道就能用咒语让你死。”
    绝影白了他一眼,接过电话。
    电话是放射科主任亲自打过来的,在那头急得要死,说系统不能用了。
    明明去安装的时候都是好好的,这BUG再怎么严重也不至于让整个系统都不能用了吧,事情要真有那么严重自己刚到手的奖金估计又要泡汤。忙跟他说:“什么时候发现问题的。”
    “前几天就开始了,不过还勉强能用。今天他们说不能用了,我跑过来看,果然不能用了。”
    “是什么情况?”
    “前几天是登记的时候速度太慢,登一个人起码都要等5分钟,还不如以前用纸登记快。到今天,简直是不能登记了,估计起码要等一个小时。”
    听他这么说,绝影终于松了口气。这是意料之中的事情。想医院一天做的病人起码有几百个,就算如BOSS Liu所说KIREGIS设计容量是10万级别数据量那最多也就几个月就撑爆了。再加上那些X光机,CT机拍的片子转换成DI图像一张动辄就是好几十M,这么大的数据量不慢死才怪。本来在这种情况下应该配套一个数据备份和刻录的软件,奈何CASE的时间太紧,验收的时候也就是勉强才做完连Beta测试都没有这些增强要求自然没时间去给他考虑,周总的意思是先等验收过了,钱到手了,大家闲下来了,再花点时间慢慢给他做个备份系统。
    虽然话说“顾客就是上帝”,现在好多顾客认为自己付了钱,还真把自己当成了上帝,东西出一点小问题就蹦炸起来:“坏了!不能用了!你们赶紧给我搞好!”绝影和BOSS Liu以前给别的医院做系统维护的时候听多了这样的抱怨,反而反感起来。那时候没办法上头有命令必须要去做,现在又不一样了,东西验收是你签的字,钱我也拿了,老子现在就是上帝!
    于是他慢条斯理地说:“别急别急,那是因为数据量太多了,正常情况。你想想用了那么久了,机器里面装了那么多数据,哪有不慢的道理,就是你自己机器时间长了你还不是得拿Windows优化大师搞一搞。”
    “那现在怎么办呀。”主任这么说,声音有点变调,绝影忽然又有点可怜起他来。
    “这样吧,你们自己不是有网管吗,让他把硬盘里的数据拷出来刻成光盘然后删掉,数据少了速度自然就快了。”
    “这种事情我们怎么敢搞啊,万一把系统搞坏了是小事,数据掉了我们都交不差,现在卫生部规定所有医学数据都至少要保存5年,这个事情谁都马虎不得啊。你给想想办法帮帮忙啊!”
    绝影当然知道这事情他们不能搞,这样说就是想吓吓他,以前东西还在做的时候周总总是说:“小绝啊,今天主任打电话过来,说那个KIPACS还需要个什么什么功能。”所以他肯定地认为KIPACS搞那么长时间加那么多功能出那么多BUG罪魁祸首都是这个主任。他一个小小的要求在那时候就能让绝影起码多加三天的班。
    见主任说话都哆哆嗦嗦,想像着他人在那边全身像筛糠似地打着颤,绝影的虚荣心忽然得到极大的满足,全身都自在起来,于是用很大方地口气说:“这样吧,这事情我我给上面反应一下,我们再调研调研,看能不能给你们做个工具专门来备份。这样对数据就比较安全了。”
    “那就最好了。但是这几天我们怎么办呢?”
    “这几天?你们以前没装我们系统的时候是怎么做的现在就怎么做。等到我们把东西做出来吧。机器先不要开了,要再开机器出了什么问题数
返回目录 上一页 下一页 回到顶部 0 0
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!