weekly review 200907: Refactor
本周应该说进入了正常的工作状态,CMI的程序在周日完成一次修改,5G的进展虽然不快,但也还可以说得过去。
周一,早上骑自行车先去办公室取了点东西,然后骑去NCC;似乎有点倒春寒的意思,居然感觉到冷,也许是感冒的后遗症吧。到了NCC,转交了文件,然后就开始继续写程序,从春节之前一周开始就没怎么正儿八经的写程序,所以现在看起来进度略有些紧张,如果实在不行,考虑主动加班。中午还是决定回去踢球,状态一般。下午骑自行车回NCC继续编码,开始把一个project里面的class拆分到其他的几个project里面去,已满足所谓的三层架构。倒不是拘泥于Model、DAL、BLL、Web的架构,主要是觉得这样的代码可能会更加的清晰一些。之前主要参考FrameWork的一部分源码,其中没有做很清晰的划分,而且对于其中的命名规则也不是我所钟意的,加上现在的系统管理部分还需要很多特殊的功能,可能需要添加不少代码,所以下决心做了代码级的重构,而不是直接使用其提供的DLL。拆分project的工作其实早就开始了,只是前期不怎么顺利;随着对代码的了解,我已经能够摸到一些代码结构,虽然没有能够完全拆分,编译也总是有error,不过还是有很大的进展。晚上在家里做饭,不过米饭蒸的有些偏硬,可能是火候的关系;西红柿鸡蛋、麻婆豆腐和耗油生菜,还是很丰盛的。饭后,去办公室加班,本意是完善一下ZGW,可是有一些其他的事情影响了进度,直到晚上11点才回到家里。上网,稍微修改了CMI的代码并提交,然后睡觉。
周二,北京居然下了春雪,不知道是否“贵如油”。早上坐班车去NCC,很快开始继续昨天的工作,把剩下的一些代码文件移动位置,顺利通过了编译,之前完成的用户列表和用户详情的功能还可以运行(有小bug),虽然还不知道其他的功能是否正常,不过也算是有进展。上午的最后时间,我继续看了一段《Photoshop cs2 高手之路》的视频教程,感觉那个李涛老师讲的很好,如果有时间的话,争取在2月份看完。中午小雪花零星,不过因为和CMI的项目约好要进行联调,所以还是冒雪回家了一趟。可惜因为沟通的缘故,联调没有进行,于是我就在家里睡了一个小时,其实午休感觉还是很好的。下午回去继续上午的工作,清理了UserDAL中的代码,去掉了一些不需要的函数,把单元测试也作了相应的调整。自从听说了“奥卡姆剃刀”之后,虽然不知道具体的含义,但是却非常的认同“如无必要,勿增实体”的准则,虽然怀疑有些暂时无效的代码在之后会用到,可是还是删除掉了(如果需要,就只有靠版本控制的svn了)。晚上继续在家做饭,红烧带鱼和醋熘瓜片,和老婆大人一起吃光了所有的菜,不过两天下来米饭剩了不少。晚上先是在家里上网,看到了所谓程序员的十层楼,估计自己也就在二层左右,在“菜鸟”和“大虾”之间,我觉得如果能到四层“大牛”,我就会比较满足了。九点多出门,去办公室加班到十点半,回家。然后24、上网、修改CMI的程序、发邮件,顺手给老婆订了沃夫小子的蛋糕,睡觉的时候已经快两点了。
周三,早上起床比较困难,装了两个包子出门,在班车上解决了早餐。上午继续昨天的工作,开始对UserBLL进行重构,并补充了一些单元测试(之前没有写Unit Test)。因为已经有了一些代码,所以应该不算是严格的TDD,不过在运行单元测试的时候还是发现了一些问题。到十一点半的时候还是没有能够完全通过测试,因为中午要和老婆大人一起共进生日大餐,所以匆匆忙忙离开NCC,打车去了五道口华联,绕了一圈之后,找到了六楼的麻辣诱惑;之所以到这里,是因为老婆手里有一些午餐券可以消费。一行四人,点了水煮鱼(无公害草鱼)、毛血旺、盆盆虾、蟹黄豆腐、上汤娃娃菜,还有大拌菜和手拨笋两个凉菜,菜点的稍微有点多,大概人均¥80的样子(有券,不差钱),不过除了盆盆虾之外,剩下的都还比较好吃,特别值得推荐的是毛血旺。这家店面很大,据说装修风格和西单店类似,中午客人并不是特别的多,有几个区域没有开放,倒是有翻台的。饭后回到单位,因为要评议一个量化考核办法,所以就没有再去NCC。请ZGW的客户大概看了一眼现在的界面,未置否可,可能是觉得不够炫吧,另外还缺少BBS和Blog的功能。在单位呆到四点,沃夫小子提前送来了蛋糕,不过送货的小伙子多坐了两站路公交,方便了我不少(我的地址在五环外边一点,本来打算在五环里面收货付款,以免增加运费)。拿到蛋糕,去附近的超市买饮料,没有什么好的酒水,最后买了玉米汁。晚上和老婆大人一起冷餐,咖啡大理石蛋糕加玉米汁,沃夫小子还送了几根蜡烛。饭后,老婆大人去游泳,我上网清理了一下订阅,然后把google reader的订阅数量精简到了100(还得继续减少),希望以后每天用来无目的上网(看订阅的博客,包括一些技术类的文章)的时间控制在一个小时之内。剩下的时间用于修改CMI的代码,因为26日要上线,所以时间上还是要抓紧一点。晚上剩下的时间用来调试了一下CMI的程序,不过没有完成什么功能,最后发了邮件。调试的时候发现,因为远程的WebService更新之后,我这边Visual Studio里面的Web Reference并没有自动的更新,需要选中之后右键选择更新,才能得到最新的WebService定义。
周四,昨夜中雪,早上起来看到地面和对面的屋顶上有积雪,露天停放的汽车盖上了“雪花被”。坐班车去NCC,一开始只有我和GQ在,5G的项目组进行了一次技术交流,主要是介绍现有的程序框架和所使用SyncFushion控件。我负责的系统管理部分采用Web方式,而系统的其它部分采用C/S架构,所以我这边的代码相对独立,用的控件也不尽相同;但是出于学习和团队建设的原因,我还是积极参加了。花费了大约三个半小时的样子,那个SyncFushion控件看上去确实不错,很容易就可以实现出outlook 2007界面风格的框架,看到有很好的DockManager功能,不知道Web方面的控件如何,希望后面有机会试用。中午还是骑自行车回家了一趟,在家里主要解决了一下昨天晚上遇到的cmd.exe无法运行的故障,然后睡了大概四十五分钟,又骑车返回NCC。下午继续重构UserBLL类,不过到了最后的时候,发现在测试的时候出现了找不到“webengine.dll”的错误信息,编译正常,功能也可以实现,初步怀疑是因为Unit Test代码的问题。下班之前,花费了大概四十分钟继续看了那个《Photoshop cs2 高手之路》的视频课程。晚上在家里做牛肉咖喱饭,主要是为了消灭前面剩下来的米饭。饭后上网。
周五,早上坐班车去NCC,继续写5G的程序,不过进展并不快,还拿出一部分时间来看《Photoshop cs2 高手之路》。中午回来踢球,先是和球友们一起清理了场地上的积雪,主要是为了周一可以有一块完整的场地;后来就在篮球场地上踢,6对7,我方少一人的情况下,大败,有点郁闷。下午继续写程序,项目组召开了周例会,感觉我负责的系统管理模块并没有特别大的压力(因为不是核心业务),而且是一个人在战斗——其他人在做C/S的,而我的是B/S。晚上老婆大人去上瑜伽课,我一个人吃饭,然后回家上网。
周六,早上十点起床,吃了早饭,然后开始上网,看到了一些有意思的帖子,推荐《永不言弃》,宣传语:“职场·长篇·行政总监的外企奋斗实录”。中午十二点多,去办公室加班,启动了之前提到的那个冗灾备份系统,并且为升级工作系统作了一个测试环境。从办公室回来之后,和老婆大人去走西口吃饭,加上老婆的闺蜜,三个人可是吃了不少。饭后,两个女人去逛街,我回家上网去了。晚上和老婆大人一起看了《疯狂的赛车》,说实话之前并不看好这部电影,即使有同事去影院看了之后力荐。不过看完之后感觉还不错,老婆大人在观影期间笑喷了一次,应该算是优秀的国产搞笑片了,虽然有些剧情和道具的设置有《疯狂的石头》的影子,“黑皮”老师的表演依然精彩,比较影片喜欢镜头切换和故事讲述的方式。有点奇怪,这样的片子为什么没有放到贺岁档,大概是不愿意和那几部所谓“贺岁大片”死磕吧。
周日,早上睡到九点多,简单午饭,然后上一小会儿网,从中午一点开始修改CMI的程序,其实回过头来看,需要修改的代码并不是特别的多,一直拖沓到这个时候,实在是罪过。项目经理压力很大,周末给我打了两个电话询问进度。下午老婆大人出去逛街,我独自在家写程序,效率还不错,到晚上吃饭的时候,已经完成了主要的修改。老婆大人买菜回来,在家里蒸了米饭,炒了三个家常菜,然后一边吃饭一边看Desperated Housewives,中间少看了几集,不过基本上不怎么影响剧情。饭后继续修改程序,中间还抽空上网看看帖子。到了晚上十一点多,准备给项目经理发邮件,告知项目的进度,包括合作方还有一个WebService的method没有正常运行;结果在十一点半的时候,惊奇的发现那个method居然可以正常调用了,难道是有人在半夜偷偷改程序?害死我了。于是剩下的时间就再次开始重新修改程序、测试、发布……
下周是二月份的最后一周,希望能够把5G项目的用户管理部分的程序基本功能(CRUD)完成,最好还能关联角色;CMI项目将在下周的前两天进行最后的测试,并将在周四(26日)上线,希望不要有太大的bug出现;希望能够抽出时间来看完那个关于photoshop的教学视频,如果还有时间的话,再看一个“ASP.NET夜话"。