2

我试过 Umbrello 和 ArgoUML;并且两者都无法从现有的 c++ 代码库生成代码。尽管它们在这些领域的能力有限,但它们在导入包含 std、boost、SDL 和本地包含的文件时都失败了。FOSS 世界中是否有任何东西可以对相当复杂的 c++ 代码进行建模。UML 部分是可选的,生成连贯且准确的代码可视化是最重要的。

注意:像 gprof2dot 和 doxygen 这样的工具可以处理源代码,但是它们的输出非常复杂,以至于与原始代码一样难以掌握。

注2:由于不能再询问关于 SO 的工具,让我重新表述这个问题:

给定一个庞大、陈旧、复杂和笨拙的 c++ 代码库,如何快速有效地执行重大重构。所谓专业,我的意思是:

  • 从现有的源/标头对中提取整个结构/枚举/类到它们自己的文件中
  • 添加/删除命名空间
  • 改变函数签名
  • 等等

grep 和 sed 可以处理一些事情;但是,发现和管理包含依赖项可能会让人不知所措。我目前坚持使用“更改和修复”方法 - 尝试重构某些内容并迭代构建和修复编译器指出的错误。对于广泛使用的对象,这很。什么是正确的方法?

4

2 回答 2

0

这篇2005 年的论文描述了pilfer工具,该工具现在包含在srctools项目中。它在 GNU 通用公共许可证下可用。

于 2013-10-02T20:49:51.697 回答
0

我在几个项目中使用了 Doxygen。

这不是很好,但比从头开始要好。

于 2013-10-02T19:11:31.233 回答