2005-05-26

工作两年(四)--进入Configuration Management的世界

刚开始学写程序的时候只会用IDE,吃过苦头之后就开始备份,或者每天做一次备份,或者一个功能完成后做一个备份,省得再出现程序崩溃后无法恢复的悲剧。用cvs是参加工作之后的事情了,在公司里,几乎所有的项目都用cvs做版本控制,也有用sourcesafe的,但不是主流。从那时开始,逐渐学会了check in、check out、update、merge、以及diff等等。记得《程序员修炼之道》上说,“要把所有的文本都用版本控制工具管理”。但是,有版本控制的意识,并不代表可以充分利用它,我已经用cvs两年多了,由于diff和annotate与emacs接合的比较好,所以这两个功能用得比较爽,可还是拿不准该在什么时候开branch,什么时候check in,偶尔还是会痛苦地努力恢复崩溃的程序。其实也难怪,还是没把版本控制当回事,总觉得可有可无,不去学习最佳实践,怎么可能用好它呢?!昨天看了“Version Control with Subversion”的第一章,打算接这个机会好好学一下版本控制,也学会这个最新的开源版本控制工具。

另一个工作后学会的工具是缺陷管理工具。所有的bug都有记录,这是我从前没有想过的,bug也有优先级,哪些重要,哪些不重要。重要的要尽快fix,不重要的可以托一托,但是因为有记录,就不会忘记。当我感受到记载bug的重要性后,就自己搭建了bugzilla,用来记录一些不适合记录在公司工具里面的bug。

我做的最不好的是schedule,到现在都做不好,因为每做一个task后总是会有一些想法,到底是该按照自己的想法继续做下去呢?还是该按照订好的计划行事?这让我很矛盾。而我的一个坏习惯是如果感到矛盾,就什么也不做,一直矛盾下去,虽然明知道这样根本不能解决任何问题。

没有评论: