对于程序员来说,最有激情的一件事也许是领导或参与开发新项目,按照《走出软件作坊》的阿朱的话来说是在白纸上作画;与之相对的,对程序员来说最无趣的一件事应该是老系统维护。 新项目能给人带来成就感,在这个过程中,大家可以尽情地展示自己的技能,尽情地享受产品一天一天成型给自己带来的快乐。 老系统维护就让人沮丧了:做好了不是自己的功劳,做不好就是自己的无能。想把自己懂的那些设计模式、框架、 OO 、 ORM 、 AOP、IoC 都施展出来?别逗了,能把之前没有文档支离破碎打满补丁惨不忍睹的代码弄明白就不错了,再说,原有的架构往往禁锢你发挥的空间,让你有劲使不出。 10 月中旬,我来到新部门,没几天,就接手一个项目 —— 一个工具软件的开发。 具体的情况是这样的: 1. 工具是客户定制的,要满足客户的一系列要求; 2. 业务人员初步的方案是在公司 A 软件的基础上修改,使用 B 软件产生的数据,我们的工具输出的结果供 C 软件使用。其中 B 软件是正式产品; C 软件是 B 软件的重构版本,和 B 并不完全兼容,还未开发完成,计划年底上市; A 软件正在测试阶段,还不完全稳定; A 、 B 、 C 包括我要开发的工具软件都是基于单机版; 3. 时间是一个月,要出能用的一个产品,当然,考虑到实际情况,将它定为为过渡产品,之后还要重构和增加功能,比如网络协同; 4.