我即将开始从事一个项目,该项目涉及重构和修改 c 和 c++ 中的现有代码。代码很臃肿,而且数量巨大。当然,由于需要修改代码,因此必须在很短的时间内开发对代码的理解,因为我们有一些时间紧迫的项目时间表。任何人都可以建议任何有助于实现上述目标的开源工具。简而言之,我正在寻找的是可以:
- 有助于理解设计的逆向工程工具。
- 序列生成器工具将有助于在运行时绘制序列(很可能我们将能够运行代码,但至少不能在初始阶段)或通过代码检查。
- 研究现有代码库的良好代码浏览工具。
- 合适的工具,可以以最小的努力自动重构代码。
请告诉我任何值得关注的经历、偏好或最爱。
[编辑] 在上面列出了可以提供帮助的工具列表。这是列表:
UMLStudio
为您的 OO 遗留代码创建对象模型是分析、理解和维护它的最佳方法。UMLStudio 可以比任何其他 CASE 工具更快地自动将 C++、Java、CORBA IDL、PHP 5 和 Ada 95 代码转换为 OOA&D 符号。C++
的 CodeDrawer CodeDrawer 将源代码转换为基于可视化的图表。类、结构和源代码的任何元素都可以显示在图表中。它还显示了函数和方法的逻辑。CodeDrawer 有助于理解项目的源代码Imagix
源代码的逆向工程和可视化导致改进的程序理解。速度:学习不熟悉的代码更改影响分析集成开源代码代码重用软件维护AgileJ AgileJ StructureViews 是 Eclipse Java IDE 的插件,它可以在工业规模上生成高度可定制的 UML 类图,非常适合敏捷开发或探索任何现有 Java 代码库。
MaintainJ 如果您可以运行代码库,那么当您运行特定用例时,MaintainJ 在运行时生成 UML 序列和类图。
Java 逆向工程工具 从 Java 源代码生成类图和类之间的关系。
Source Insight 优秀的资源浏览软件
还有一个,感谢 Steve Townsend
Klocwork