用C/C++包来理解重构的代码

Alo*_*ave 19 c++ refactoring automated-refactoring

我即将开始研究一个涉及重构和修改c&c ++中现有代码的项目.代码是一个膨胀的代码,并且数量巨大.当然,由于代码需要修改,因此我们必须在非常短的时间内开发对代码的理解,因为我们有一些非常紧迫的项目进度表.任何人都可以建议任何有助于实现上述目标的开源工具.总之,我正在寻找的工具可以:

  1. 逆向工程工具,有助于理解设计.
  2. 序列生成器工具将帮助在运行时绘制序列(最有可能我们将能够运行代码,但至少不能在初始阶段)或通过代码检查.
  3. 良好的代码浏览工具,可以研究现有的代码库.
  4. 适合的工具,可以轻松自动重构代码.

请告诉我任何值得关注的经历,偏好或收藏.

[编辑]想出了上面提供帮助的工具列表.这是清单:

  1. Graphviz&doxygen
    从现有代码库生成UML类图

  2. UMLStudio
    为您的OO遗留代码创建对象模型是分析,理解和维护它的最佳方法.UMLStudio可以比任何其他CASE工具更快地将C++,Java,CORBA IDL,PHP 5和Ada 95代码转换为OOA和D表示法.

  3. CodeDrawer for C++
    The CodeDrawer converts source code to visual based diagrams. Class, struct, and any elements of source code can be shown diagrams. It also shows the logics of a function and a method. The CodeDrawer helps understand source code of your project

  4. Imagix
    Reverse engineering and visualization of source code lead to improved program comprehension. Speeds: Learning Unfamiliar Code Change Impact Analysis Integrating Open Source Code Code Reuse Software Maintenance

  5. AgileJ AgileJ StructureViews is a plug-in for the Eclipse Java IDE which generates highly customisable UML class diagrams on an industrial scale, ideal for agile development or exploration of any existing Java codebase.

  6. MaintainJ If you can run the code base then MaintainJ generates UML sequence and class diagrams at runtime when you run a particular use case.

  7. Java Reverse Engineering Tool Generates class diagrams and relations between classes from Java source code.

  8. Source Insight Great source browsing software

One more, Thanks to Steve Townsend
Klocwork

Kla*_*aim 10

代码是一个膨胀的代码,并且数量巨大.当然,由于需要修改代码,因此我们必须在非常短的时间内开发对代码的理解,因为我们有一些非常紧迫的项目进度表.

然后你就遇到了一个管理问题:如果你已经知道你几乎没有时间理解很多代码,那你就注定要失败了.要理解这段代码,你必须让它运行并通过它,这需要时间.工具只会给你一个大的地图,但不会向你展示真正的路径.

适合的工具,可以轻松自动重构代码.

你生活在仙境里.

有些工具可以为您提供应用程序的结构体系结构,但如果不逐个浏览每个模块并阅读代码,这将无济于事.首先是使用模块的代码,然后是模块内部的代码.

事实上它是C和C++使得定义它将花费你的时间变得更加困难,因为它也与你对​​这些语言的知识以及编写应用程序的人的知识水平有关.

  • 我确实理解这样的代码不能单独重构,需要理解,我知道这是一个问题,我要求帮助克服.而且,对于仙境生活我希望如果有一些工具可以重构某些小模块代码的各个部分. (3认同)
  • 当然,人类智能需要重构一个源代码,它毕竟是一个开发的代码,但我正在寻找能够更容易使用大量代码库的工具.任何工具建议都是如此? (3认同)