22 毕业设计
这次周总的语气显得有些焦急,绝影预料都有什么重要的事情发生。他说:“小绝啊,那个KIPACS的BUG你现在能不能抽点时间加紧修一修。明天我们就要去为一家医院安装,时间很紧啊。”
周总说的KIPACS是公司一个软件产品,以前一直是小周在做,虽然名字叫PACS,后来绝影才发现,这个软件产品其实还算不上真正意义上的PACS。小周一直拿它当宝贝似的,还记得前不久刚刚把视频卡模块加进去的时候他一个人在那兴奋得不得了,还让公司好几个员工都来拍张照片留念。绝影也拍了一张,比摄像头效果好得多,因为视频采集卡是9bits的。
“本来以为没什么问题了,今天下午我在公司测试了一下,发现还有好几个BUG,现在再去把小周找来肯定是来不急了,你先看一看,我把源代码和BUG列表已经Email给你了。”
绝影觉得这事情来得太突然,自己在公司现在最大的成就莫过于用MFC做了一个注册表读写的Demo,现在突然要他来修改一个商业化产品的BUG他实在没什么底气。他说:“KIPACS代码我看过,但从来没往里面写过代码,不知道行不行。”
“你就试试吧,能改多少改多少。”
“好的,我去看一下,改完了我给你电话。”
显然周总也处于十分被动的局面,明天就要给别人医院安装,现在都已经是下午六点,公司原来负责这个CASE的程序员又不在,他也只好死马当活马医了。
事情来得紧急,绝影也顾不得吃饭,他给燕儿打了个电话,说:“晚上公司有事,要写点程序,我刚跑了1000米,及格了,反正现在也吃不下饭,你先一个人去吃饭吧。”
周总的邮件里面列了5条KIPACS的BUG,绝影看了一下问题都不大,他这才第一次认认真真地看KIPACS的代码。虽然老早之前小周就把KIPACS的代码发给他,当时也就是让他看看,没啥其他要求,所以他也没压力,看了几眼觉得代码又复杂,结构混乱,各个cpp文件中都随处定义的全局变量,没用匈牙利命名法,注释也很不完整,才看了几眼就感觉头都大了,所以他也没怎么认真去看。
这次不一样,你要真刀真枪去修改BUG,于是从APP类开始,顺着程序流程往下看。以前绝影的思想中基本没有“类”这个概念,所以看MFC的工程就看得累,一个一个cpp地文件去寻找实现这个功能的函数在哪里。后来周总交他一个法子:别去看那文件列表,直接把类视图展开,从APP开始,从类成员函数中去寻找,特别注意那些OnXXX函数,一般就是处理消息的。
时间一点一点过去,绝影修完一个BUG就在那BUG列表文档相关的项目上打个钩,修改一会又去看看那个文档,刚才打的钩还在,打钩的越来越多,没钩的越来越少,看一看觉得还是很有成就感,又埋头继续看代码,有时候一边看一边骂,骂谁?骂小周。代码得这么混乱,根本没想过给后人留点方便。所以要是以后自己写代码,就一定好好写,写规范,写好注释,免得别人骂我。
不知不觉就到了11点,绝影在骂人和成就感交替的心情中终于把所有BUG都修改完。他仔细地在BUG列表的文档中每条BUG后面打上括号,写上“已修正,X年X月X日,绝影”,然后把KIPACS工程打开,从头到尾把自己修改过的代码旁边打上注释:changedbyHamber,yyyy-mm-dd。
Hamber是后来燕儿帮他起的英文名,燕儿英语专业出身,给她们讲课的也都是老外,老外就是迂腐,非要给全班每个同学都起个英文名,名字不过就一个符号,但他们好像只记得住英文的名字。
燕儿也觉得很有意思,虽然没留过洋,但有个英文名感觉还是要牛B一点,于是兴高采烈回来也给绝影起个英文名。以前绝影就有个英文名叫Hitetoshi,那是从一个日文名字演变过来的,想1998年世界杯几乎全中国球迷都支持日本,所以用个日本名字还是比较洋气。后来小日本越来越过分,绝影对他们的腹绯也越来越多,最后腹绯变成愤怒,终于决定采纳Hamber这个名字,跟小日本彻底决裂。
现在考个驾照比以前严格得多,就路面行驶如果视线离开正前方超过三秒钟就直接不合格。这个要求对很多人来说的确有点难,路上那么多人啊,车啊,或者突然蹦出来个美女,难免打点晃晃,稍不留神就让考官“Goout”。后来绝影去考,一考就过。为啥?因为他在那个时候就练了出来,那天,整整四个小时中绝影的视线从来没有离开显示器超过三秒。
绝影小心地把东西全部打个包给周总发了封Email,再个周总打个电话。周总问:“改了几个BUG?”
他平静地说:“全改了。你看看代码。”
做完这一切,他才想起肚子好饿,外面有点冷,馆子差不多已经都已经关门。他去楼下烤了几串烧烤一边吃一边给燕儿打电话:“我吃了饭了,东西也给周总做完了,超额完成任务。”
绝影没啥音乐细胞,不过《同桌的你》这首歌他还唱得不错,大一的时候他本来想和王江学弹吉他,就学的这首,边弹边唱自我感觉良好,可是别的寝室对他意见很大,后来吉他没学成歌倒是唱得滚瓜烂熟。
正如那歌词一样:你总说毕业遥遥无期,转眼就各奔东西。虽然大四还没结束,但同学们都各忙各的,你就算在学校里转个三天,也不一定能见到几个同学。好容易选毕业设计的时候到了,大家回来聚一聚,各自比比谁选的毕业设计水平高些。
最开始绝影选的题目是汽车车牌号识别系统。这个课题还是很有价值。比如你创红灯啊,啪给你拍下来,把车牌号识别成字符直接放数据库,交警同志们本来就多困苦的,这下好了,一个“select”语句就把你检索出来。再说,自己去那家公司本来也搞数字图像处理,说不定有些技术积累还能帮上自己的忙。本来题目也不难,好像就是用高通率波就行了。所以这个题目他实在是十拿九稳。
过了两周,辅导员曹妈给他打来电话,先是打工问问工作可好适应不适应,然后马上转到正题:“毕业设计的题目太少了,有些题目选的人多,有些题目选的人少,你看你能不能把你选的那题让出来重新去选一道啊?”
绝影想重选就重选,反正自己有能力,哪题不会做?关键是我都把摄像头啊这些器材都买了你才让我重选,这不是浪费我钱吗?
想是这样想,他还是很客气地跟曹妈说:“当然没问题。我选哪题都有把握过的,你放心好了。”
挂了电话,绝影越想越不服气,凭啥就要我让他们啊?反正后面毕业设计题目也就那么几道,看一看再也找不出来难度合适又能体现自己水平的了。干脆给教务处打个电话说:“我是绝影,我已经在公司实习了,公司的意思是我能尽可能多地呆公司里面,所以他们希望我毕业设计自己选题,由公司派导师带我做。”
由公司派导师带学生做毕业设计按规定也是可以的,那时候宴斌已经是学院教务处主任,他跟绝影说:“行,当然没问题,但按规定,公司派的导师至少要有工程师以上的职称。改天你把你导师资料的复印件、职称证明、公司的意见该公章还有你自己的申请送到教务处就行了。”
绝影过了软件设计师,就怕宴斌不知道,毕竟他以前是宴斌的学生,还是多希望自己这个学生在老师眼里是个有出息的学生,赶紧给宴斌说:“我不是考过了软件设计师吗?那软件设计师就是个工程师的职称了,我自己带我自己不就够了吗?”
说了以后,绝影开始等宴斌来赞扬自己,不料也许宴斌那边特别忙,他说:“那还是得按规定来,就那样,不说了,我还有点事情。”
挂了电话好几天绝影都有点失落,想几年过去了,宴斌是不是当了大官就不认自己了。
后来,公司给绝影排了一个“研究员”做绝影的导师,“研究员”是个多大支持绝影也不知道,因为不知道他决定应该不小,那职称证明上写着:王X,航空工业大学研究员。他觉得这么大个头衔应该是很牛B的,所以他自己也很牛B地把资料交到教务处,心想:你们算什么职称呢?
最后学院还是给绝影划分了一个校内导师负责联络,是个女的,姓王,据说是一个很牛B的教授级别的人物,她没给绝影上过课,绝影对他的印象不是很深刻。
她问:“毕业设计的题目确定了吗?”
绝影说:“定了,《DICOM传输的原理与应用》。”
这题目是周总给绝影定的,当时公司刚完成了一个DICOM传输模块的调试也许周总也带了点给学校炫耀的心理吧,忙让绝影上这个项目。他说:“DICOM方面我们都有好多年的技术积累了,代码啊资料啊论文啊都有现成的,除了核心代码你要什么拿什么就行了。那毕业设计有什么好怕的?花个两周写写论文就行了,要不你让秘书帮你写也行。”
绝影跟王老师报出这个题目,他想她应该没有什么意义,她是搞自动控制的,对医疗方面懂个P,DICOM是什么她可能都不知道。
可是这次王老师却说:“不行,不能用这个题目。”