我正在寻找建议,最佳实践,以及可能的灵活和解耦的转换架构的开源示例。
我需要更改已经存在的代码库,基于某些分析能够将一些旧的现有应用转换为更新的代码。
这些细节并不那么有趣,但我确实希望看到一种实现这一目标的好方法。
一些最初的想法是定义风格。 一种情况由多个验证步骤和对所提供数据的实际操作组成。工作流程将从识别窗口和容器开始,然后继续进行分组和组织。
你有什么想法?有任何指导或建议吗?
答案 0 :(得分:3)
请参阅我们的DMS Software Reengineering Toolkit。这是一个程序转换引擎,旨在接受任意语言定义(您的“旧代码库”),执行任意分析,然后根据这些分析应用转换。 DMS的建设始于1995年, 所以它有相当长的时间在实践中应用和使用。
DMS已用于定义DSL并将其转换为其他语言。它已被用于“定义”(实现)许多经典编程语言(C,C ++,C#,COBOL,Java,PHP,JavaScript,......)的规范并对其进行分析,并将代码转换为那些语言提供原始程序的改进版本。它已经应用的任务是商业的,实用的和使用的结果。它已被用于将遗留语言翻译成更现代的语言。
简而言之,DMS旨在完全一个灵活的框架,用于构建分析/转换工具。