[阅读: 339] 2009-08-24 17:35:02
我处理过一个类似项目。而且没有servlet的代码,没文档,没支持,对方开发人员普通话和英语都说不好。只会说白话。一切都靠猜的。这种系统理论上当然是不动最好,但要后继开发,所以不得不动。
我的经验:
1 以数据为桥梁。数据结构可不动,则不动。必须要动,写转换程序来同步新旧结构。而,老版本虽然不好,数据结构上往往有一些为了应付某些情况的变通,一时未必想的明白。
2 在数据结构(旧+新)的基础上开始重构前端,后台先不要动,以保持稳定。说是重构,其实跟重写差不多,只不过可以分块来。稳定了一块再来下一块。前端重构完成后,和旧前端同时运行,充分测试各种情况。这时候可能会发现更多第一步没考虑到的情况。
3 如果后台没必要动,那就不动了。不过,既然都到这了,就也动了吧。一样是分布重构,逐渐拆除前面用来同步数据的程序,把老结构过度到新结构。最终再和新的前端放在一起充分测试。
总之,确实是花时间也花钱的事。我认为最关键的还是数据,既关系到了重构的稳定性,又关系到了老数据的清洗和使用。