为绘制C/C++结构体、指针等快速草图工具

10
我想知道您在C/C++中用什么来勾画不同实体之间的关系。这可能是一个非常广泛的问题,所以我会尽量澄清一下我的问题并举个例子。
我正在寻找一个对用户来说足够简单且可以轻松地绘制容器、指针等内容的工具,可以不太正式地记录一些结构关系,并将它们传递给初级开发人员。通过观看图形可以加快代码理解速度。
目前,我的解决方案有:
1)纸和笔。 2)Microsoft PowerPoint/Word 的自动形状。 3)免费软件Dia。
其他选择包括:
4)Microsoft Visio,但我们公司没有许可证。 5)UML工具。我不想用这种更正式的方式。我知道像 Rational Rose 这样的工具是 xxx,我尝试过 boUML 和 violet,在某些方面它们还不错,但我更喜欢选项 1)、2)或 3)的灵活性。
最后,让我写一个更具体的例子:
假设我想勾画一个包含另一个地图作为映射值,并且该地图包含一个结构作为映射值,该结构包含一个类型的指针向量和指向其他类型的指针。此外,还存在其他结构,其保存指向前一地图所指对象的指针,因此存在从不同位置指向对象的指针。
这只是我一个例子,但您可以轻松地从自己的经验中得出另一个例子。
您会使用什么来勾画这个例子或其他类似的例子?
最好的问候, Tomas。

6
依我不那么谦虚的意见,Rational Rose 是一款糟糕的软件,即使我的职业生涯取决于它,我也不会再次使用它。 - James McNellis
嗯,我很久以前用过它,记得它相当容易出错。我想现在应该已经改进了。我认为它在某种程度上是行业标准,但我不使用它。我尝试使用boUML逆向工程C++,并且我可以获得不同项目设计的相当好的图片。 - nephewtom
11个回答

2

Visio非常适合快速创建此类图示/图表。我建议至少尝试让公司购买许可证。

如果Visio对您来说真的不是一个选择,下一步可能是考虑Visio的开源替代品


2

我使用两个工具。

  1. 我的白板。白板非常适合快速绘制图表。
  2. UMLPad。它很小,没有太多无关的功能,专门针对UML图表,并且是GPL授权。

2

针对设计问题,需要涉及多人思考,我们采用了“便利贴设计”方法。这个想法很简单:

  • 选择一个白板
  • 将实体表示为一个便利贴(名称+一些注释)
  • 在白板上绘制关系,并根据需要移动便利贴

完成后?将整个图像拍照并通过电子邮件发送给相关人员以备长久保存 :)

这种方法可能看起来很手工,但它真的让我想起了GUI的纸质设计方法。


@Matthieu:这对头脑风暴会议非常有帮助 - 强烈推荐。 - Johann Gerell

2

1

我会使用graphviz,但是既然你说“用户友好”,dia可能是更好的选择。


1

我喜欢yuml,因为它是一种非常简单的创建图表的方式,同时保持了非正式的外观。而且不需要真正的绘画技能 :)


0

我曾经使用过ArgoUML,但你需要决定它是否足够简单来满足你的需求。


0
为了完整性:还有一个StarUML,它是(Windows)免费软件,可以让您快速创建UML图。

0
  • Visual Paradigm UML 社区版是免费的,足以用于草图设计。
  • Open Office Draw 也可以满足你大部分需求。

0

如果你有现有的代码库希望开发人员理解(听起来像是你想帮助初级开发人员更快上手),为什么不通过doxygen运行你的代码呢?

它具备各种输出类型和绘制类层次结构的能力,真的是一个非常有用的工具。像 HTML 输出这样的附加优势是,你不必将所有关系挤入有限的空间中, 因为所有关系都是超链接的。用户可以只在“类型”级别上浏览源代码,而无需太担心细节。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接