最近碰到一个二手项目。这个项目之前做了一年,总体设计可以说还是不错的,而且文档也留下了。它整个设计都是一个微内核的设计思想,不过也正是由于这个原因,使它在性能上很不理想。
我觉得只要找一些性能很差的地方重构出来即可。但是另外一个同事却根本不看项目文档,就说它里面的代码写的太差,要重新做。最终由于其它种种原因,就让他重新做,让我去帮他,因为我对那个项目比较了解了。
由是我结了一个手中的活,开始去重新做那一个项目。结果,他没有任何的设计,没有任何的相关文档,直接在写代码,而且把原来的hibernate全部用jdbc来做,数据库也都没有设计出来,而是做到哪要用了再建表。这样我就有点晕了,但没办法,也得做。他对代码书写看的很重要,不过全是口头上说,没什么任何规范的文档可以拿出来。
由是,我就在想:整体设计失败了,代码到是写得很清晰。可是没有设计,如果进行团队的开发呢?没有文档,后面的人光看代码,又是否能看的明白呢?
感觉就像一些女孩子的衣服。每一件做工都很精细,但是只像往房间里一乱扔,整个看起来就一团糟。而有一些人而且好一点,虽然衣服都不是很好的,但都一件一件的放在一起,这样看起来就好多了。
我记得有一个人的一个比喻。他说程序员就像拉车的,但有的人在阳光大道上,有的人却走到了死胡同。因为他们不抬头看路。而我们的路则是需求。我觉得还有一点也需要看一看,那就是地图,它就好比我们的设计。