3

在项目中实施敏捷需要进行重构的能力。这并不是必须的,但代码重构已被证明是一种很好的工程实践。

在 iSeries 平台上的敏捷 (Scrum) 项目中,需要在 RPG、RPG LE 中进行开发(新代码和对遗留代码的修改),是否可以实现重构?如果是这样,有什么技术可以做到这一点?

如果尝试过的人可以分享他们的经验或只是指出参考,我将不胜感激。

4

4 回答 4

3

重构可以在多种语言上完成,无论是否面向对象。有关从与语言无关的角度进行重构的讨论,请参阅重构。

于 2009-10-21T20:45:43.903 回答
1

http://www.amazon.com/Re-engineering-Legacy-Applications-Paul-Tuohy/dp/1583470069

于 2010-01-08T17:34:00.970 回答
1

只是不要在工资系统上尝试它,除非你想让很多人同时都非常不开心。很多时候,试图将抽象的想法改造成价值 20 年的常规代码只会招来大麻烦。如果可以的话,首先尝试一些小的和新的东西。我想您的 iSeries 上的大量代码是经过修改的软件包软件。不要从那里开始。

这是一个古老的问题,多年来一直以许多不同的方式重新出现。很多时候,它的中心是你是否重写了一个旧的、糟糕的程序,它可以工作但很难维护。只有您可以回答这个问题,但通常最好等到需要进行重大修订,然后投入时间和风险使其变得更好。不要低估其中的风险部分。在职业生活中,没有什么比在枪口下试图把矮胖子重新组合起来更糟糕的感觉了,而知道这一切都是你自己造成的。

最后,真正坚持成本/收益,不要贸然考虑理论。当关键业务功能无法正常运行时,没有人会关心它们。

于 2011-03-07T04:10:23.490 回答
0

还有这本书:

http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672/ref=sr_1_1?ie=UTF8&s=books&qid=1276528002&sr=8-1

尽管主要从 OO 的角度来看,它也提供了一个可以应用于任何语言的过程。

于 2010-06-14T15:08:40.827 回答