-
12-10-2019 - |
题
我正在分析一些旧版代码。大约是旧的PLSQL代码的80.000行。在拳头外观上,源中有很多重复需要删除。取而代之的是执行DIFF的手册并查看每个文件,必须有一些工具/命令行condu来检测源代码的重复行。
我的目标是对重写来源的最小尺寸以及该程序中捕获多少实际知识的最小尺寸进行有根据的猜测。我编写了一些基本的静态代码分析仪,以查找每个文件中的ETC和功能,以找到控制语句的量。但是重复的代码仍然需要从我的统计数据中删除。
解决方案
你看过吗 Simian-相似性分析仪? (仅检查了,它不再免费,但是可以在15天内进行评估。)
Simian(相似分析仪)在Java,C#,C,C ++,Cobol,Ruby,JSP,ASP,ASP,HTML,XML,Visual Basic,Groovy源代码甚至纯文本文件中标识重复。实际上,可以在任何可读的文件(例如INI文件,部署描述符)上使用Simian。
我在实践中使用了它,并且确实运行良好。
其他提示
声纳 有重复检测并声称支持PL/SQL,尽管我从未使用过。
您需要乞求/借用/窃取/编写PLSQL解析器,并比较产生的抽象语法树。随着您拥有的代码库的大小,这可能是值得的。完成后,解析器还会有其他用途。
不隶属于 StackOverflow