C / C ++包,以了解用于重构的代码 [英] C / C++ packages to understand code for refactoring

查看:84
本文介绍了C / C ++包,以了解用于重构的代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将要开始从事一个涉及重构和修改c& c中现有代码的项目。 C ++。该代码是一个one肿的代码,数量巨大。当然,由于需要修改代码,因此我们必须在很短的时间内开发对代码的理解,因为我们有一些时间紧迫的项目进度表。任何人都可以建议任何开源工具来帮助实现上述目标。
总之,我正在寻找的工具可以是:

I am about to starting to work on a project which involves refactoring and modifying existing code which is in c & c++. The code is a bloated one and is in huge volume. Of course since the code needs to be modified, an understanding of the code has to be developed and in a very short span of time since we have some pretty time pressed project schedule. Can anyone please suggest any open source tools which will help in achieving the above. In short what I am looking for is tool which can:


  1. 逆向工程工具,有助于理解设计。 li>
  2. 序列生成器工具,可帮助在运行时绘制序列(很可能我们将能够运行代码,但至少在初始阶段无法运行)或通过代码检查。

  3. 用于研究现有代码库的良好代码浏览工具。

  4. 可轻松完成代码自动重构的合适工具。

  1. Reverse engineering tools which will help understand the design.
  2. Sequence generator tools which will help draw sequences at run time(Most probably we will be able to run the code, but not in the initial stages at least) or through code examination.
  3. Good code browsing tools to study the existing code base.
  4. Suitable tool which can auto refactor code with minimal efforts.

请告诉我任何值得寻找的经历,偏好或收藏夹。

Please do tell me about any experiences,preferences or favorites worth looking out for.

来了上面提供帮助的工具列表。列表如下:

Came up with a list of tools to help in above. Here's the list:


  1. Graphviz & doxygen

    从现有代码库生成UML类图

  1. Graphviz & doxygen
    Generate UML class diagrams from existing code base

UMLStudio

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

UMLStudio
Creating an object model for your OO legacy code is the best approach to analysing, understanding and maintaining it. UMLStudio can automatically convert C++, Java, CORBA IDL, PHP 5, and Ada 95 code into OOA&D notation faster than any other CASE tool.

CodeDrawer for C ++

CodeDrawer将源代码转换为基于可视的图。类,结构和源代码的任何元素都可以在图中显示。它还显示了函数和方法的逻辑。 CodeDrawer可帮助您了解项目的源代码

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

Imagix

反向工程和源代码的可视化可以改善程序的理解能力。速度:
学习陌生的代码
更改影响分析
集成开源代码
代码重用
软件维护

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

AgileJ
AgileJ StructureViews是Eclipse Java IDE的插件,可生成工业规模的高度可定制的UML类图,非常适合敏捷开发或探索任何现有Java代码库。

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.

MaintainJ
如果可以运行代码库,则在运行特定用例时,MaintainJ将在运行时生成UML序列和类图。

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.

Java逆向工程工具
从Java源代码生成类图和类之间的关系。

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

来源洞察力
出色的源代码浏览软件

Source Insight Great source browsing software

感谢Steve Townsend

本地化

One more, Thanks to Steve Townsend
Klocwork

推荐答案


该代码是一个blo肿的代码,数量巨大。当然,由于需要修改代码,因此必须开发代码的理解,而且由于我们有一些时间紧迫的项目进度,因此必须在很短的时间内开发代码。

The code is a bloated one and is in huge volume. Ofcourse since the code needs to be modified an understanding of the code has to be developed and in a very short span of time since we have some pretty time pressed project schedule.

然后您会遇到一个管理问题:如果您已经知道自己几乎没有时间了解很多代码,那么您将注定要失败。要理解此代码,您必须先运行它并进行遍历,这需要时间。工具只会为您提供一幅完整的图,而不会显示真实的路径。

Then you have a management problem : if you already know you have little time to UNDERSTAND a lot of code, you're doomed. To understand this code, you'll have to make it run and go through it and it will take time. Tools will just give you a big map of things but will not show you the real path.


合适的工具可以以最小的成本自动重构代码

Suitable tool which can auto refactor code with minimal efforts.

您生活在仙境中。

有工具它为您提供了应用程序的结构体系结构,但如果不逐一遍历每个模块并阅读代码,那将无济于事。首先是使用模块的代码,然后是模块内部的代码。

There are tools that gives you the structural architecture of you application, but that will not really help without going through each module one by one and read the code. First the code that use the modules, then the code inside the modules.

由于它是C和C ++,因此更难定义将花费您的时间因为它也与您对这些语言的了解以及编写该应用程序的人的知识水平有关。

The fact that it's C and C++ makes it even harder to define the time that it will take you as it's also relative to the knowledge you have of those languages and the level of knowledge of the people who wrote the app.

这篇关于C / C ++包,以了解用于重构的代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆