项目不断发展,似乎有必要可视化项目中存在的类之间的关系。其中一些是独立的,其中一些是从其他人继承的。
我正在寻找可视化这些关系的工具。我知道JavaScript libraries for drawing UML class diagramms已经问过类似的问题了,但据我所知,没有给出适合我需要的答案。
我知道这个List of Unified Modeling Language tools,但他们似乎有可能绘制UML图,而我需要的是
在Ruby中,此工具称为RailRoady。如果这样的工具也在JavaScript中退出,那将是非常有用的帮助。
看一下
James Shore online viewer。这是我遇到的最接近Javascript的UML类图。这个link也可以帮助你。事实上,它确实带来了另一种表示UML类图的方法。
这种逆向工程工具不太可能存在,原因很简单,因为JavaScript中没有明确定义的类概念。不同的框架和不同的人使用不同的代码模式来实现JavaScript对象,这些对象充当类生成实例的类蓝图。
对于ES6类定义,可以直接自动生成UML类模型,并使用一些图形布局算法,相应的图表。
一些静态分析工具可能有助于您实现的目标。我一直在使用jscomplexity项目(jscomplexity.org)进行质量控制,但我记得TAJS项目更先进,我只是看了http://cs.au.dk/~amoeller/talks/TAJS2.pdf上的演示文稿PDF,如果你看一下幻灯片9那个JavaScript抽象状态的输出看起来可能更适合您的要求。
TAJS的源代码在github(https://github.com/cs-au-dk/TAJS)上,所以如果你有兴趣使用它的某些部分应该是可能的(如果许可允许的话)。
作者还发布了一个Eclipse插件,用于显示代码的调用图或层次结构。
希望这个对你有帮助。
有几个库可以生成UML类图(不是在线服务,编辑器和Web应用程序)。主要问题是图形组件设计和图表的响应水平。
如果你想创建静态图组件有很多库,但是如果你想创建一个类似于运行时图编辑器的工具,那么你的替代方案是有限的:
其他库如D3,FabricJS,paperJS,JsPlumb,p5.js,Cytoscape.js和mermaid也提供图表的基本组件,但它们没有内置编辑器。但是这些库中有更多不同的图表和绘图组件。它们可能不是为用户(包括图形编辑器)创建完全交互式和可编辑的图表的最佳选择。