IDEA激活码,SequenceDiagram: 一键可以生成时序图 您所在的位置:网站首页 idea可以自动生成类图片吗 IDEA激活码,SequenceDiagram: 一键可以生成时序图

IDEA激活码,SequenceDiagram: 一键可以生成时序图

2023-05-07 20:10| 来源: 网络整理| 查看: 265

在平时的学习/工作中,我们经常会面临以下场景:

阅读别人的代码。

阅读框架源码。

阅读自己很久之前写的代码。

千万不要觉得工作就是单纯写代码。实际上,在工作中,你会发现大部分时间都花在了阅读和理解已有代码上。

为了更快、更清晰地搞清对象之间的调用关系,我经常需要用到序列图。手动画序列图很麻烦,也很费时间。不过,IDEA 提供了一个叫做 SequenceDiagram 的插件,可以帮助我们解决这个问题。通过 SequenceDiagram 这个插件,我们可以一键生成时序图。

什么是序列图?

有很多关于序列图的定义在网上流传,但我觉得它们都太过抽象,不太容易理解。最神奇的是,大部分文章对于序列图的定义竟然都是一模一样的。看来大家都充分发挥了写代码的“精髓”啊!

我来简单说一下我的理解吧!不过,说实话,我自己对于序列图也不是很清晰。下面是我对它的理解,如有问题或需要完善的地方,请指出。

序列图

序列图(Sequence Diagram),也称为循序图,是一种UML行为图,用于表示系统执行某个方法/操作(如登录操作)时,对象之间的顺序调用关系。

这个顺序调用关系可以这样理解:你需要执行系统中某个对象 a 提供的方法/操作 login(登录),但是这个对象又依赖了对象 b 提供的方法 getUser(获取用户)。因此,这里就有了 a -> b 调用关系。

以下是两个例子:

下图是微信支付的业务流程时序图。该图描述了微信支付相关角色(顾客、商家等)在微信支付场景下,基础支付和支付的顺序调用关系。

下图展示了我编写的 HTTP 框架中执行某个方法的序列图。该图描述了在调用InterceptorFactory类的loadInterceptors()方法时涉及到的类之间的调用关系。

此外,国内一般更喜欢把 Sequence Diagram 称为“时序图”。

如果从纯翻译的角度来看,sequence 这个单词并不具备“时间”的意思,只有“序列”、“顺序”等含义。因此,有人认为“时序图”这个说法并不准确。但从定义的角度来看,“时序图”这个描述是没问题的。因为 Sequence Diagram 中每条消息的触发时机确实是按照时间顺序执行的。

我认为,无论是称呼 Sequence Diagram 为“时序图”还是“序列图”,都没有问题,不必过于纠结。

哪些场景下需要查看类的时序图?

在很多场景下,我们都需要用到时序图,例如:

阅读源码: 在阅读源码时,您可能需要查看涉及相关类的调用关系的目标方法的调用。特别是在代码的调用层级比较多的时候,对于我们理解源码非常有用。(题外话:实际工作中,大部分时间我们都花在了阅读理解已有代码上。)

技术文档编写: 在编写项目介绍文档时,为了让别人更容易理解您的代码,您需要根据核心方法为相关的类生成时序图来展示它们之间的调用关系。

梳理业务流程: 当我们的系统业务流程比较复杂时,我们可以通过序列图将涉及的重要角色和对象之间的关系可视化出来。

......

如何使用 IDEA 根据类中方法生成时序图?

通过 SequenceDiagram 这个插件,我们可以一键生成时序图。

此外,您还可以:

单击时序图中的类/方法即可跳转到相应位置。

在时序图中删除相应的类或方法。

将生成的时序图导出为 PNG 格式的图片。

安装

您可以直接在 IDEA 的插件市场中找到此插件。我已经将其安装好了。

提示

如果你因为网络问题没办法使用 IDEA 自带的插件市场的话,也可以通过IDEA 插件市场的官网手动下载安装。

简单使用

选中方法名(注意不要选类名),然后点击鼠标右键,选择 Sequence Diagram 选项即可!

配置生成的序列图的一些基本的参数比如调用深度之后,我们点击 ok 即可!

你还可以通过生成的时序图来定位到相关的代码,这对于我们阅读源码的时候尤其有帮助!

时序图生成完成之后,你还可以选择将其导出为图片。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有