今天是12月31日,现在回顾的也就是十二月份的最后一周了。
书接上回,本周主要的工作是在客户那里修改Death Race的程序,其间客户提到了一个比较严重的问题,我对于需求的理解有误差,让人震惊。周一的时候还比较轻松的,改了大半天的代码然后还看了一篇英文的文章;可是到了周二,风云突变。项目中有人员管理的模块,我的理解只需要看到当前这个人物的状态即可,同时提供了人物的历史信息;可是,客户突然说,要求看到在某一时间点上,所有人员的状态信息!而且,他一直都是那么认为的。天啊,为什么在之前的讨论中忽略掉了这个问题呢?而且在我们提交原型,几次讨论的时候都没有提到这个关键的概念,直到最后的测试才提出希望看到人员的过往记录。
本来在数据库中的人物表,是每个人物都有一个唯一的id,对人员的升迁等操作是通过update语句来完成的,数据库中始终只有一条记录,现在这样显然不行了,于是只好修改了数据库的结构,增加了一个主键id,以及一个在用标志位,这样一来,系统允许一个人物在数据表中可以有多个记录,原本进行update操作,现在改为了insert,保存了人物的升迁历史记录。
在时间过滤上,也改原先的年度判断,到起止时间判断,一直到最后版本的截止日期判断。
其实,这中间的问题出在客户给我们提供的一个模版程序上,客户的技术人员在项目开始之前搭建了一个原型的模版,我基本上是参照着那个原型构筑的系统;客户方面同时提供了他们以前的一些没有完成的系统的构想,我当时没有特别重视那些未完成的程序,只是作为参考。恰恰是在这个环节上出的问题,后来客户拿出那个未完成的系统,说,我们希望是这个样子的:)其实这也是一个很好的经验教训,特别是当用户那里已经存在一个(在用)的系统的时候,作为后续程序的开发人员一定要重视这个历史系统!
周三和周四的时候,涉及到文件操作的部分,又提出了不少修改意见,还有一些反复。因为我不是项目的协调人员,我不知道中间沟通和协调的过程,但是感觉上这样无休止的修改是不应该提倡的,到一定的阶段,应该有一个修改的截止。用户可能因为这个系统会有一些新的思路,而进一步的调整我认为应该放到2.0的程序中去实现,在现有程序上不断地修改可能会造成很多问题。
周二给领导L打电话请半天假,在家里迎接老婆大人归来。其实本来这种小事情跟JP说一声就可以了,可是每次我跟JP说点什么,很快就会接到L领导的电话,所以这次干脆直接打给L领导。紧接着给JP打,结果清晰的听到L领导正在为我请假的事情交待写什么,估计是精神过敏神经兮兮吧,总是很关心的问有没有人际关系上的问题。真是不知道怎么适应这样的领导。虽然我不喜欢JP,但是该做好的事情我还是会回完成的。周三中午,L领导打电话到家里,说了半天,问还需要多少时间完成修改。我说大概两天,结果被领导说一定不要糊弄,不要浮躁,要……郁闷。不过我估计如果我说的时间长点,她又该要我抓紧时间努力了。在电话里跟我讲要以单位的事情为重,钱不是现在最重要的,一头雾水;后来才知道,她以为我手头有私人的程序在写,怨望!
周三下午回单位的时候,JP主动要求替我值第二天的班,让我有时间改程序;我特意问他自己的工作是不是已经结束,他说已经完成了;虽然他可能是好心,可是我还是觉得他有些故意,本来我给自己制定的时间表就是在周六之前改完全部的程序,即使周四在单位值一天班也没有关系。结果回到办公室,听说第二天单位组织吃自助看电影,哈!我不用值班,所以就可以参加了;而值班员是要坚守岗位的:)
周三的晚上,看着帮助文档,完成了一个CAB的最简单应用,开心。其实我比较喜欢做技术工作,能够专心写代码。
周四觉得浑身懒洋洋的,缺乏运动;中午吃完饭就打车回单位踢球去了。结果晚上吃饭的时候被L处当着Y处不阴不阳说了一顿,估计可能是被她看到了吧。
到周六的上午,程序基本完成了修改。本来周六是打算写一些测试用例的;结果客户那边又提出了一点修改建议,于是又忙活了一通。JP周四和周五值了两天的班(周四本来是我值班,周五是他自己的班),早上也来到了客户这里,帮我检查bug。我还是不太相信,他所负责的程序真的一点问题都没有?
吃完午饭,JP去麦德龙买东西,我则回到单位,参加了2007年的最后一场球:)
下午到了单位,忙得四脚朝天;非法占用的新机器又被抢了回去,懒得和他们计较;检查了一遍Oracle数据库的状态;结果到了快下班的时候,应用系统还是出了问题。等到开发人员来检查,最后发现问题出在系统取了web server上的时间来进行判断,而又没有提供一个可供修补的接口。往年放假是一月份的前三天,所以没有出什么问题;而今年因为放假时间的调整,所以就……不知道有没有人遇到和我们这里类似的问题。
晚上吃完饭,顶着大风回家已经10点了。第二天一早回到石家庄。
今天晚上刚刚回到北京。
明天(2008年1月1日,元旦)我得在单位值班。下一周就是2008年了,估计还要去Death Race的客户那里几天,指导用户进行测试,我准备在那边把测试用例写完,虽然以后不一定能用的上,可是我还是希望练习一下;如果有空的话,准备开始看那本《Test Driven Development》,并且试图在新项目中采用;一个新的项目正处在前期准备阶段,虽然现在还有一些变数,是关于中文分词智能判断,我比较看好其中的技术价值,希望能够学到一些东西。
预告:下一博该是2007年的年度小结了