我已经看到多篇关于应用程序重写的文章,这些都是不好的,人们在Programmers上的经历,以及Joel Spolsky编写的关于该主题的文章,但没有确凿的证据或案例研究。除了Joel给出的两个示例以及此处的其他一些帖子外,您如何处理不好的代码库,以及如何根据实际研究决定如何处理它?
就目前的情况而言,我知道有两个客户端都具有旧的遗留代码。他们一直之以鼻,因为正如其中之一发现的那样,重写是一场灾难,这很昂贵,而且实际上并不能有效地改善代码。随着重写者迅速发现,该客户具有一些非常复杂的业务逻辑。
在这两种情况下,这些都是关键任务应用程序,可为公司带来大量收入。试图重写的人认为,如果将来某个时候不对旧版软件进行升级,它们将陷入困境。对我来说,这种风险需要进行研究和分析,以确保成功的道路。
是否有实际的案例研究对此进行了调查?我不希望尝试大量重写,而无需根据实际研究了解一些最佳实践,陷阱和成功。
后果: 好的,经过更多搜索,我确实找到了三篇有关案例研究的有趣文章:
- 重写或重用。他们对转换为Java的Cobol应用程序进行了研究。
- 另一个是关于软件重用:开发人员的经验和看法。
- 重用或重写关于维护与重写成本的另一项研究。
我最近找到了另一篇有关该主题的文章:The Great Rewrite。在那儿,作者似乎遇到了一些主要问题。随之而来的是通过使用建议的新技术堆栈并测量开发人员将其拿起的速度来进行原型制作的想法。这全都是重写的序幕,我认为这是个好主意!