我正在分析一些遗留代码,涉及it技术。这是大约80,000行旧的plsql代码。初步看,源代码中存在相当多的重复,需要删除。不要手动进行差异比较并查看每个文件,而是可以使用某些工具/命令行配置来检测源代码中的重复行。
我的目标是对源代码进行重写的最小尺寸和实际捕获的知识量进行合理猜测。我编写了一个基本的静态代码分析器,以找到每个文件中的控制语句IF ELSE FOR等和函数数量。但是,仍需要从我的统计数据中删除重复的代码。
我正在分析一些遗留代码,涉及it技术。这是大约80,000行旧的plsql代码。初步看,源代码中存在相当多的重复,需要删除。不要手动进行差异比较并查看每个文件,而是可以使用某些工具/命令行配置来检测源代码中的重复行。
我的目标是对源代码进行重写的最小尺寸和实际捕获的知识量进行合理猜测。我编写了一个基本的静态代码分析器,以找到每个文件中的控制语句IF ELSE FOR等和函数数量。但是,仍需要从我的统计数据中删除重复的代码。
http://sourceforge.net/projects/sddforeclipse/
它是开源的,据说被商业软件使用。顺便说一下,它是Eclipse的插件。
Sonar具有重复检测功能,并声称支持PL/SQL,尽管我从未用过它来进行此类操作。
你需要去寻找/借用/窃取/编写一个PLSQL解析器,并比较生成的抽象语法树。考虑到你所拥有的代码库的规模,这可能是值得的。完成后,解析器还可以用于其他用途。