2010-05-11 70 views
7

我最近被分配了一个项目来进一步开发一个现有的代码库。该代码不包含任何测试,甚至不包含一行评论。整个“东西”是以一种非常模糊的方式编写的,因此需要花费很多时间来弄清楚会发生什么。如何处理无证代码的庞大代码库?

你通常如何处理这类问题?提示和trix如何处理这种情况?

+0

Dupe http://stackoverflow.com/questions/684251/understanding-a-large-undocumented-set-of-source-code – 2010-05-11 17:07:11

回答

5

一次一块。

如果您必须进行修改,请针对您正在修改的内容编写测试。然后安全地进行更改。随着时间的推移,你最终得到更干净的代码,这是测试。

1

我愿意做的事情是这样的清理代码,如果它不是已经清理(对齐括号等)。大多数像样的文本编辑器都有这个功能,内置(月食上,NetBeans)

然后,我可能会浏览应用程序并追踪逻辑在哪里占据我的位置,围绕代码巡视并让自己熟悉以前的开发人员如何处理事情。

1

一次一个功能。在你走的时候,尽量少和评论(对你自己)。我最近也做了这个 - 给了一个'C++'程序,基本上是99%c,主模块写在1个单片类中。如果有足够的时间,您将熟悉代码并能够在某种程度上轻松地跳转。至少第一周不要开始改变事情。直到你确切地知道发生了什么事,你会在晚些时候开始射击自己。

这几天不会那么糟:)

2

它有源代码管理吗?查看变化的历史。

如果没有,请将其置于源控制中。你将不可避免地做出突破性的改变。缺乏预期行为的文件保证了这一点。如果你努力检查你的变化,你将能够回滚和重做。

随时创建文档。在您了解代码执行/预计要执行的操作时,请记录它。

0

如果它处于可运行状态,则一种方法是在应用程序的开头附近设置断点,并逐步执行调试器中的典型执行,以查看代码实际执行的操作(与您认为的相反) 。