这次周总的语气显得有些焦急,绝影预料都有什么重要的事情发生。他说:“小绝啊,那个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工程打开,从头到尾把自己修改过的代码旁边打上注释:changed by Hamber, yyyy-mm-dd。
Hamber是后来燕儿帮他起的英文名,燕儿英语专业出身,给她们讲课的也都是老外,老外就是迂腐,非要给全班每个同学都起个英文名,名字不过就一个符号,但他们好像只记得住英文的名字。
燕儿也觉得很有意思,虽然没留过洋,但有个英文名感觉还是要牛B一点,于是兴高采烈回来也给绝影起个英文名。以前绝影就有个英文名叫Hitetoshi,那是从一个日文名字演变过来的,想1998年世界杯几乎全中国球迷都支持日本,所以用个日本名字还是比较洋气。后来小日本越来越过分,绝影对他们的腹绯也越来越多,最后腹绯变成愤怒,终于决定采纳Hamber这个名字,跟小日本彻底决裂。
现在考个驾照比以前严格得多,就路面行驶如果视线离开正前方超过三秒钟就直接不合格。这个要求对很多人来说的确有点难,路上那么多人啊,车啊,或者突然蹦出来个美女,难免打点晃晃,稍不留神就让考官“Go out”。后来绝影去考,一考就过。为啥?因为他在那个时候就练了出来,那天,整整四个小时中绝影的视线从来没有离开显示器超过三秒。
绝影小心地把东西全部打个包给周总发了封Email,再个周总打个电话。周总问:“改了几个BUG?”
他平静地说:“全改了。你看看代码。”
做完这一切,他才想起肚子好饿,外面有点冷,馆子差不多已经都已经关门。他去楼下烤了几串烧烤一边吃一边给燕儿打电话:“我吃了饭了,东西也给周总做完了,超额完成任务。”
绝影没啥音乐细胞,不过《同桌的你》这首歌他还唱得不错,大一的时候他本来想和王江学弹吉他,就学的这首,边弹边唱自我感觉良好,可是别的寝室对他意见很大,后来吉他没学成歌倒是唱得滚瓜烂熟。
正如那歌词一样:你总说毕业遥遥无期,转眼就各奔东西。虽然大四还没结束,但同学们都各忙各的,你就算在学校里转个三天,也不一定能见到几个同学。好容易选毕业设计的时候到了,大家回来聚一聚,各自比比谁选的毕业设计水平高些。
最开始绝影选的题目是汽车车牌号识别系统。这个课题还是很有价值。比如你创红灯啊,啪给你拍下来,把车牌号识别成字符直接放数据库,交警同志们本来就多困苦的,这下好了,一个“select”语句就把你检索出来。再说,自己去那家公司本来也搞数字图像处理,说不定有些技术积累还能帮上自己的忙。本来题目也不难,好像就是用高通率波就行了。所以这个题目他实在是十拿九稳。
过了两周,辅导员曹妈给他打来电话,先是打工问问工作可好适应不适应,然后马上转到正题:“毕业设计的题目太少了,有些题目选的人多,有些题目选的人少,你看你能不能把你选的那题让出来重新去选一道啊?”
绝影想重选就重选,反正自己有能力,哪题不会做?关键是我都把摄像头啊这些器材都买了你才让我重选,这不是浪费我钱吗?
想是这样想,他还是很客气地跟曹妈说:“当然没问题。我选哪题都有把握过的,你放心好了。”
挂了电话,绝影越想越不服气,凭啥就要我让他们啊?反正后面毕业设计题目也就那么几道,看一看再也找不出来难度合适又能体现自己水平的了。干脆给教务处打个电话说:“我是绝影,我已经在公司实习了,公司的意思是我能尽可能多地呆公司里面,所以他们希望我毕业设计自己选题,由公司派导师带我做。”
由公司派导师带学生做毕业设计按规定也是可以的,那时候宴斌已经是学院教务处主任,他跟绝影说:“行,当然没问题,但按规定,公司派的导师至少要有工程师以上的职称。改天你把你导师资料的复印件、职称证明、公司的意见该公章还有你自己的申请送到教务处就行了。”
绝影过了软件设计师,就怕宴斌不知道,毕竟他以前是宴斌的学生,还是多希望自己这个学生在老师眼里是个有出息的学生,赶紧给宴斌说:“我不是考过了软件设计师吗?那软件设计师就是个工程师的职称了,我自己带我自己不就够了吗?”
说了以后,绝影开始等宴斌来赞扬自己,不料也许宴斌那边特别忙,他说:“那还是得按规定来,就那样,不说了,我还有点事情。”
挂了电话好几天绝影都有点失落,想几年过去了,宴斌是不是当了大官就不认自己了。
后来,公司给绝影排了一个“研究员”做绝影的导师,“研究员”是个多大支持绝影也不知道,因为不知道他决定应该不小,那职称证明上写着:王X,航空工业大学研究员。他觉得这么大个头衔应该是很牛B的,所以他自己也很牛B地把资料交到教务处,心想:你们算什么职称呢?
最后学院还是给绝影划分了一个校内导师负责联络,是个女的,姓王,据说是一个很牛B的教授级别的人物,她没给绝影上过课,绝影对他的印象不是很深刻。
她问:“毕业设计的题目确定了吗?”
绝影说:“定了,《DICOM传输的原理与应用》。”
这题目是周总给绝影定的,当时公司刚完成了一个DICOM传输模块的调试也许周总也带了点给学校炫耀的心理吧,忙让绝影上这个项目。他说:“DICOM方面我们都有好多年的技术积累了,代码啊资料啊论文啊都有现成的,除了核心代码你要什么拿什么就行了。那毕业设计有什么好怕的?花个两周写写论文就行了,要不你让秘书帮你写也行。”
绝影跟王老师报出这个题目,他想她应该没有什么意义,她是搞自动控制的,对医疗方面懂个P,DICOM是什么她可能都不知道。
可是这次王老师却说:“不行,不能用这个题目。”
分享到:
相关推荐
- **第二十一~二十二章:出现次数超过一半的数字,最短摘要的生成** - 讨论特殊数据处理问题。 - 提供高效算法的设计思路。 - **第二十三、四章:杨氏矩阵查找,倒排索引关键词Hash不重复编码实践** - 涉及特定...
- 第十二章至第二十二章覆盖了一系列复杂问题,如中签概率、IP访问次数统计、回文检测等。 **10. 杨氏矩阵与倒排索引** - 第二十三章和第二十四章涉及杨氏矩阵的查找方法以及倒排索引关键词的Hash编码实践。 **...
- **第二十一~二十二章:出现次数超过一半的数字,最短摘要的生成** - 探讨了数据统计和摘要生成的技术。 - **第二十三、四章:杨氏矩阵查找,倒排索引关键词Hash不重复编码实践** - 涉及高级数据结构的应用,如...
- 第二十章“专业主义”呼吁程序员保持专业精神,不断提升技能,追求卓越。 这些章节覆盖了从编程基础到高级技术的广泛内容,适用于B、C、Java等语言的程序员。通过深入学习并实践书中的建议,可以显著提高代码...
TMS320F2837xD技术参考手册-第1-2章:c28x处理器与系统控制 TMS320F2837xD技术参考手册-第3-4章:ROM代码及外设启动与直接内存访问(DMA) TMS320F2837xD技术参考手册-第5-6章:控制率加速器(CLA) . . TMS320F...
软考程序员听课笔记、第一章~第十二章完整版!
- **第二十一~二十二章:出现次数超过一半的数字,最短摘要的生成** —— 分析了如何高效地解决这类统计问题。 - **第二十三、四章:杨氏矩阵查找,倒排索引关键词Hash不重复编码实践** —— 探讨了高级数据结构和...
第二十一章至第二十四章可能会讨论错误处理和调试技巧,这是每个程序员都需要掌握的重要技能。理解如何通过异常处理来捕获和处理程序运行时的问题,以及如何使用调试工具来定位和修复错误,能显著提高开发效率。 ...
总之,Delphi7程序设计与开发技术大全的第二十二章提供了丰富的Internet编程知识,不仅涵盖了理论基础,还涉及了实践应用,对于希望在Delphi7环境中开发网络应用的程序员来说,是一份宝贵的资源。
本书来自于编程大神July。下面是他对自己写得书的心得和体会。我尽量把资源分弄的比较低。5分应该不多吧。 从2011年4月写下第一篇至今,编程艺术系列已经写了37章,也... July、二零一三年十二月十日晚于北京天通苑。
- **第二十一至二十二章**:出现次数超过一半的数字、最短摘要的生成 - **第二十三、四章**:杨氏矩阵查找、倒排索引关键词Hash不重复编码实践 - **第二十五章**:二分查找实现 - **第二十六章**:基于给定的...
- **第二十一~二十二章:出现次数超过一半的数字,最短摘要的生成** - **知识点**:Boyer-Moore投票算法、文本摘要算法。 - **应用场景**:文本摘要生成、数据压缩等。 - **第二十三、四章:杨氏矩阵查找,倒排...
《程序员编程艺术第一 ~二十七章(教你如何编程)高清完整PDF版》是针对程序员的一份全面编程指南,涵盖了从基础到高级的多种编程概念和技术。这份文档源自知名博主v_july_v在CSDN博客上发布的系列文章,旨在帮助...
第二章“程序员与程序经理”; 第三章“项目计划与质量管理”; 第四章“可行性分析与需求分析”; 第五章“系统设计”; 第六章“C++ 面向对象程序设计”; 第七章“测试与改错”; 第八章“维护与再生工程”。 ...
预处理命令 第20章 XML文档 第21章 .NET类的路标 第22章 系统类 第23章 集合 第24章 输入/输出 第25章 反射 第26章 文本操作 第27章 正则表达式 第28章 线程 附录A C#关键字 附录B...
第二章 宏与常量 第三章 字符串 第四章 函数 第五章 键盘操作 第六章 数学 第七章 文件、目录和磁盘 第八章 数组、指针和结构 第九章 DOS和BIOS服务 第十章 内存管理 第十一章 日期和时间 第十...
在本章节"JAVA语言程序设计-第十二章 高级用户界面GUI设计"中,我们将深入探讨Java如何创建美观且功能丰富的图形用户界面(GUI)。GUI是计算机软件中与用户进行交互的一种方式,使得非程序员也能轻松操作应用程序。...
总结,"C程序设计语言--第三章 数据类型"涵盖了C语言中至关重要的基础知识,包括基本数据类型、存储、转换、结构化数据(枚举、结构体)、指针、数组、变量声明和初始化、以及常量和类型定义。这些概念构成了C语言的...