• 2004-01-11

    迟到的2004年开篇Blog

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://dreamhead.blogbus.com/logs/69996.html

    成为Blogger以来,头一次这么长时间没有留下只言片语,一个字,忙!

    以前的系统,相对来说,我并不是个中心人物,完成自己手头的工作也就罢了。成为“架子工”之后,对于系统担负的责任一下子大了起来。系统上线的日期一天天临近,压力也就越来越大。

    我们的元旦假期是三天,我背着笔记本回家休息,除了元旦当天是真正在休息以外,假期都在写代码中度过。直到今天,我的弦都是绷得紧紧的,每天工作到晚上11点。现在的感觉,无论精神还是身体,都是非常累的。

    累是累了些,收获还是蛮大的。毕竟这个系统的整个设计是由我完成,并且完成了其中很大一部分的代码。自我感觉编码能力又有了一些长进,对代码也有了更好的感觉。

    Uncle Bob的《敏捷软件开发》中一个附录的标题是《源代码就是设计》,我的看法是编码能力和设计能力是个相互影响的过程。缺乏编码实践的人,设计能力很难有大的提升。随便在网上转转,许多关于编程的金玉良言都有多写代码的忠告,由此可见,在这点上大家是多么的有共识。这和我们应试教育的题海战术有着异曲同工之妙。

    以前没想通这个道理,以为多看书多学习就能提高自己的水平,于是书买了不少,也看了不少,实际经验的缺乏使得阅读过程痛苦不堪,而且收效甚微。2003年,在经过一段时间的实战之后,我拜读了《敏捷软件开发》,阅读此书不时可以感受到其中奥妙,于是常常大呼过瘾。现在再来看设计模式、再来讨论重构等等,就不像从前那样纸上谈兵,不知所云了,“实践是检验真理的唯一标准”。

    这次开发本来只是需要添加一些新功能,如果我们基于原有系统进行开发,恐怕几天就搞定了。由于原来系统从结构上来说很差,于是新负责人决定另起炉灶,重新设计。换句话说,我们要再不到一个月时间里,把原来系统完全实现出来,还要增加新的功能,现在看来,当时确实有些冒进了。就我的性格而言,我是比较喜欢挑战的,原有系统已经让我有些厌恶了,为它写代码对我来说,只能是折磨自己。

    原有系统最大的问题在于重复代码过多,结果造成发现一个bug改了一个地方,同样的问题还会出现。

    2004年第一期的《程序员》有一篇文章名为《代码地震》,有这个词来形容原有系统再恰当不过了。单从代码量的角度考虑,就可以看出新系统和旧系统的差别,原来的系统纯代码量(不算注释、空行等)一共4万多,而新系统的纯代码截至到我写篇blog的时候,还不到2万,也就是连原来的一半都没用上。

    这两天大家一起奋战的时候,负责人和我说,现在的代码结构看起来舒服多了。

    当然,并不是说新系统有多么多么完美无暇。随着编码的深入,新系统的问题也逐渐的暴露出来。显然不能指望马上修改新系统解决不理想的地方,真要是那么做了,恐怕我们的系统永远也开发不完。改进只能是有限度的。

    今天累了,准备休息了。关于这次设计开发,我还有很多心得,留下的话当然是且听下回分解。





    引用地址:

发表评论

您将收到博主的回复邮件
记住我