2003年4月23日 第30天
到今天为此,我已经来研究院1个月了。早上,我来到公司,看到这里人比以前少了许多。由于SARS的肆虐,研究院许多工作都不能正常开展,许多项目受到较大的影响。但我并不像许多人那样惧怕SARS,依旧来研究院照常工作。
经过近一周的构思和与Mentor的充分交流,我已经按照要求基本设计好了整个系统的架构,并实验性地写了几个小程序来验证可行性。按照研究院的惯例,我可以为系统起个好听的名字。当时我第一个想到的名字就是“Watchdog”。之所以起这个名字,主要是由于系统的主要功能就是自动化地完成各种测试,并帮助研究人员分析结果,最大限度地简化实验的整个过程。因此可爱又忠实Dog形象当然是首选。Watchdog中文意思有“看门狗”的意思,所以我不加思索地选了这个名字。我将这个名字告诉Mentor,Mentor也认为不错,并希望我能做好Watchdog,将其做成一个真正能像Dog一样忠实地帮助研究人员完成工作的得力工具。
Watchdog是架构虽不独特,但设计起来十分复杂,并且考虑到“自动化”的要求,所有的操作都要最大限度地简化。整个实验过程可以通过一个Server控制台(Console)进行控制,并自定义了一套Script语言,用于控制P2P程序。Console不但可以控制,还可以收集并输出测试结果,而且还可以迅速生成各种分析图表,使研究人员能非常方便地进行各种实验。
Watchdog的设计可谓是我的心血之作,当然其中与Mentor细心的指导是分不开的。因为系统架构是开发的基础,没有好的架构,再好的程序员也没法开发出高质量的程序。为了将Watchdog设计好,我这些天夜里经常是工作到3、4点钟才睡,有时甚至一夜不睡通宵设计。一个方案要反复推演,甚至是一条Script语句都要反复推敲其语法和语意。Watchdog作为一个得力工具,应该不仅仅在这个项目中能使用,我希望在今后的类似项目中也应该能很好地应用才行。这段时间我才渐渐体会到,要想干好一件工作,没有辛苦的努力是不行的。我也慢慢体会到了工作的艰辛。
好在功夫不负有心人。通过我一周来的努力,换来了一份不错的设计方案。我准备接下来再仔细做最后的修改后,就将方案成文,并交给Mentor过目。正在这时,一位人事部门的小姐走过来对我说:“你是学生吧?今天研究院有通知,由于SARS,学生暂时不能来研究院,返回时间等E-mail通知。你可以将工作整理后带回去做。谢谢。”对于这个通知,我十分理解。毕竟SARS的威力不小视,研究院也是出于对大家的安全考虑,才做出这个决定。我按照要求,将工作整理完,并和Mentor说说现在进度,听听Mentor关于下一阶段工作的指示。Mentor说,虽然研究院发了这个通知,但我们的工作不能停止。Mentor询问了我课程方面紧不紧,我说由于SARS基本都不上了,所以还可以。Mentor提醒我,什么时候都要以学业为重,决不能在学业方面出问题,否则是不会让我再做下去的。Mentor这番话令我非常感动,我点点头,答应Mentor一定会合理计划时间,做到学习工作两不误。看着Mentor会心的微笑,我也笑了。
(全文已经刊登在2003年第十期《程序员》杂志上,名为《在微软亚洲研究院的日子》,未经许可请勿转载!)