<分区>
我最近从一个刚退休的人那里继承了一个用托管 C++ 编写的程序。在花了一些时间挖掘它之后,我可以诚实地说它至少有 95% 属于 thedailywtf。 .但是,我现在的任务是修改它并将其移植到我熟悉的语言。
程序本身接收从文件中读入的许多参数(50+)并执行一系列计算并输出报告。一旦我完成了 3 个字母变量的页面(其中许多被重新用于完全不相关的目的),我需要想出一种方法来测试我的代码以确保它得出与之前相同的答案代码。
这很可能是一厢情愿的想法,但是否有任何自动代码分析工具可以以任何方式或形式帮助我完成这项任务?
我会将其移植到 Java。
I need to come up with a way to test
my code to make sure it comes up with
the same answers as the previous code.
单元测试
由于您提到它是关于一个在文件中获取参数并输出报告的程序,您可以生成一些输入以充分覆盖您想要针对旧代码的输出。
如果出现问题,请不要忘记您也有可能在旧代码中发现了错误。
http://www.junit.org/
渐进端口
我会逐个移植它,我觉得它会解决你的问题,因为在报告中你可以捕获特定的字段并忽略那些你还没有移植的(假设输出一个字段/计算你不需要移植整个程序)并根据旧代码中的正确值(或其他正确的来源,以防旧代码中存在错误)验证它。