z *_* - 8 c++ java managed-c++
我最近从一个刚退休的人那里继承了一个用Managed C++编写的程序.花了一些时间挖掘它之后,我可以诚实地说它至少有95%属于thedailywtf.但是,我现在的任务是修改它并将其移植到我熟悉的语言中.
程序本身会从文件中读取许多参数(50+)并执行一系列计算并吐出报告.一旦我完成了3个字母变量的页面(其中许多重复用于完全不相关的目的),我需要想出一种方法来测试我的代码,以确保它提供与之前相同的答案码.
这很可能是一厢情愿的想法,但有没有任何自动代码分析工具可以帮助我以任何方式或形式完成这项任务?
我将把它移植到Java.
我认为您应该开始编写测试以确保移植的代码不会破坏任何现有报告的行为。
至于自动代码分析工具,在这方面最有可能为您提供帮助的是数据流分析工具,它可以对从文件到变量再到报告的数据流进行假设建模。不幸的是,几周前我对此类工具的搜索失败了。您可能希望在某些地方有手绘的 DFD,只是为了确保您不会被某些东西绊倒。Graphviz可以在这方面提供帮助。
它可能有助于将功能复制到 Java(我知道这听起来很反常),但您可以在 PMD、FindBugs 和 Java 中类似代码质量保证工具的监视下仔细重构代码。
编辑:我忘记了某个类别的工具可以提供帮助的部分 - 这些是 Java 世界中的代码切片工具,我必须承认到目前为止我还没有使用过它们。以下是可能有帮助的列表: