全部博文(136)
分类: Oracle
2008-06-20 14:39:49
我很喜欢编码,一行行代码随着我键盘的敲打出现在屏幕上,并且可以运行,我的工作进展得很快。一周之后,我发现有些新功能无法继续实现了,或者说实现起来很麻烦,我必须得修改一周前编写的代码,才能继续工作。而这时候,往往涉及到的模块非常多,可能我自己都无法控制了。
三年前我写过一个系统,当时就是这样工作的。这个系统重写了很多次,最后它非常健壮,三年后的今天它的生命力还很顽强。
因为这个系统是我自己写的,所以最后控制住了。而现在我正维护一套两年前所做的系统,它不是我写的。这个系统有个模块需要优化,我发现必须得修改一些东西才能使它运行得更快。这个模块有一万多行代码,我无法驾驭它。因为我每做一点修改,并不知道会影响到哪些地方,也不知道会不会影响到其他的模块。所以我必须从头阅读它,找到它涉及到的方方面面,然后从基础改起。
我想说明的是:在动手敲代码之前,请先做好规划。在编写的代码中存在bug并不可怕,因为一旦发现了,你可以很快地修改它。但如果从一开始你的程序规划就有问题,那么当你编写的代码越多,你以后的维护成本就会越大,可能都无法修改原来的规划了。而且,你不断地维护它,给它打补丁,但它的生命周期却越来越短。这真是一个奇怪的现象,但就我的经验而言,这却是事实。
所以,当拿到一个需求时,我会克制住自己编写代码的欲望,先做一个整体的概括的规划。没有人给我定这个规划的标准和规范,我只是先在大脑里把它从头到尾想一遍,或者在纸上记录下来,然后我要做的,就是把这些想法用代码敲出来,告诉计算机执行。