我必须执行中等大小代码块的重构(< 200K LOC)。范围非常温和:重命名一些类,在类层次结构上下移动一些嵌套的定义,删除不用的东西。生成C++重构脚本
手动完成这项工作相当简单,但我们必须从旧代码库中选择一两年的错误修复,并且项目将改变现有代码中至少一半的行。
所以,我打算将这些更改表示为一系列缩进(假定为astyle),sed脚本和另一个缩进。
我的计划是:手工完成转换,然后开发sed脚本,以获得相同的结果。前面的部分很清楚,但手动开发sed脚本似乎并不特别吸引人,但我没有更好的主意。
请帮忙。
解析C++是* hard *,这意味着,除非有问题的代码是*非常规,否则这将是一个艰难的难题。 – dmckee 2011-03-26 00:09:29
感谢您的回复。结果我选择了简单的方法:(1)使用抽象接口将我们期望开发活动的部分与核心部分隔离开来;(2)重构核心;(3)将隔离部分连接到新核心;(4)维护(5)在核心部分和非核心部分进行手动合并以修正错误。作为奖励,我们可以并行执行一些重构绝缘部件。 – zzz777 2011-03-31 16:51:07