AI如何精准生成令人惊叹的代码流程图人工智能

在没有人工智能的时候,我们需要花费至少60分钟,阅读代码并根据自己的理解手动绘制思维导图或流程图,以帮助我们更好地理解代码。

这里面存在三个问题:

1、怎么通过AI解读代码

2、怎么通过流程图呈现解读后的代码?

3、怎么生成流程图

我将依次介绍这三部分

AI解读代码实际上利用了AI的总结能力,生成代码注释。大模型已实现此功能。

可能有的人会问,为什么不通过GPT直接生成注释呢?

这里介绍一个使用Comate解读代码的例子:

比如下面这段代码有200行,核心就是订单打包,比如10个订单聚类后生成8个包裹

聚类的细节太多,想着用AI提取并绘制流程图,更加直观,首先使用AI编程工具BaiduComate,解读这段代码

安装插件Comate后,在函数代码上方,找到代码解释菜单

点击代码注释,将会打开百度AI助手聊天框,显示代码解释

不论是给领导汇报,还是写周报,如果你能将的文字或者代码可视化,给人的感觉就立马不一样了,所以学会可视化非常重要

代码可视化一般需要创建UML图,这样的工具有很多,从使用文本描述来生成UML图的角度,我选择的是PlantUML

PlantUML是一个强大的工具,用于快速创建多种类型的图表。这些图表广泛用于软件开发和文档编写中,以下是PlantUML支持的一些主要图表类型:

2、用例图(UseCaseDiagram):描述系统的功能和外部用户(参与者)之间的交互。

3、类图(ClassDiagram):展示系统中类的结构和类之间的关系,如继承、接口实现、依赖关系等。

4、活动图(ActivityDiagram):类似于流程图,用于展示从一个活动到另一个活动的控制流。

5、组件图(ComponentDiagram):展示系统的组件如何组合在一起工作。

6、状态图(StateDiagram):展示一个对象在其生命周期内经历的状态以及状态间的转移。

7、对象图(ObjectDiagram):类图的一个实例,显示了系统中对象之间的关系。

8、包图(PackageDiagram):展示代码的包结构,有助于理解代码的模块化组织。

9、组织结构图(WireframeGraphicInterface):用于描述图形组织结构组成

不知道大家发现没有,好像没看到流程图,其实PlantUML中的活动图就是流程图,左边是代码语法,右边是可视化图形

我们通过AI编程工具生成了代码注释,然后将拿到的代码注释,询问AI:请基于下面这段代码注释,生成PlantUML活动图代码

看看AI的回复:

点击Submit按钮,就可以获取到图片了

看流程图就大概知道这段代码的含义了,AI解读代码可视化图,真的很方便

以上通过代码->注释->绘制流程图的方法,就得到了想要的效果,相比传统方式阅读完代码自己手动绘制图形,确实效率高了很多

比如基于上面的代码,我也可以生成类图

比如Go可重入锁,一张图解释通俗易懂

比如Go内存管理,一张图诠释内存分布组件

比如go.sum文件,一张图描述内部结构

比如sync.Cond底层数据结构,一张图说明提供的函数接口

上面的图都是使用AI生成的,AI可以让不懂编程的人,完成一个工具或者插件的开发,大大降低了软件开发的成本;AI可以让懂编程的人,更高效地完成日常工作,更快地完成应用开发,大大提高了工作和学习效率

我一直秉承一个观点:如果你不会写作,你也不会AI写作;如果你不会编程,你也不会AI编程。

如果想通过AI生成代码流程图,首先你得知道,什么是代码流程图,有哪些方式可以可视化,然后利用AI加速这个过程。

THE END
1.用例图详解文章浏览阅读9.9k次,点赞22次,收藏65次。用例图是一种描述系统功能和用户交互的动态视图,通过参与者、用例及它们之间的关系构成。_用例图https://blog.csdn.net/weixin_62688213/article/details/137076544
2.软考架构案例分析必背知识点51CTO博客1.1.5.3.超文本系统 构件以网状链接方式相互连接,用户可以在构件之间进行按照人类的联想思维方式任意跳转到相关构件,超文本是一种非线性的网状信息组织方法,它以结点为基本单位,链作为结点之间的联想式关联。 1.2.典型层次结构 1.2.1.MVC Model是对应用状态和业务功能的封装,我们可以将它理解为同时包含数据和行为的领域http://jowin.blog.51cto.com/10090021/5424618
3.用例图与用例描述UML是很多种技术的综合体,包括类图、用例图、交互图(顺序图)、状态图和对象约束语言(OCL)。 本篇只介绍用例图与用例描述,首先认识一下UML定义的用例“在系统(或者子系统或者类)和外部对象的交互中所执行的行为序列的描述,包括各种不同的序列和错误的序列,它们能够联合提供一种有价值的服务。”【Rumbaugh2004】。换https://www.jianshu.com/p/e1ff96af7e8c
4.解析常用UML图中用例图,类图,序列图UML图你是否熟悉,本文就向大家简单介绍一下几个最常用的UML图,主要包括包括:用例图、类图、序列图、状态图、活动图、组件图和部署图。 ? https://www.iteye.com/blog/752553
5.UML图绘制的注意点和实例分析UML可以看做用于系统设计阶段给开发做参考的一种方式,其很多图需要用到面向对象程序的思维。画UML图是产品经理的必备技能之一。 废话不多说,本文介绍一下最常见的几个UML图:类图、用例图、状态图、序列图、活动图,以及一个并不属于UML,但也有很大作用的数据流图。每张图详细介绍一下画法、注意点和具体案例。相关https://maimai.cn/article/detail?fid=1673189358&efid=BZwzYtibW4hUe18tVtdhpQ
6.读书笔记(用其他工具把书里的图画了一遍)(1本章节主要讨论的是业务建模中最繁重的工作——描述业务用例的实现,即业务流程,然后改进它,推导出待引入系统的用例。目前描述业务流程的可选择手段有文本、活动图和序列图,它们的主要区别如下(以财务部“员工→报销”用例的实现为样例): ● 文本 文本的缺点是不够生动,所以在描述业务流程时很少使用文本方式。不过,描https://cloud.tencent.com/developer/article/1661424
7.VisualParadigm破解版设计和管理工具VisualParad通过我们的代码和数据库工程工具,缩小系统设计和实现之间的差距。 源代码工程工具: 代码正向和反向生成(适用于 10 多种语言) 从Java 生成序列图 Hibernate (对象关系映射) 状态机代码正向/逆向生成 REST API 设计与生成 数据库工程工具: 从ERD 导出数据库 / DDL 从数据库 / DDL 生成 ERD 10、流程图设计工具 http://www.sd173.com/soft/8267.html
8.UML序列图:准则MicrosoftLearn如果您具有汇总了系统用户及其目标的用例图,则可以绘制序列图以描述系统的主要组件如何交互以实现每个用例的目标。有关更多信息,请参见UML 用例图:准则。 如果您已标识到达组件接口的消息,则可以绘制序列图以描述组件的内部部件如何交互以实现每个传入消息所需的结果。有关更多信息,请参见UML 组件图:准则。 https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2012/dd409389(v=vs.110)
9.UML概述及UML图详解(三)图[Diagrams]:图是事物和关系的可视化表示 1.用例图[Use Case Diagram]:用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元 深入学习,请阅读:用例图详解 2.类图[Class Diagram]:(1)类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联https://developer.aliyun.com/article/1290780
10.UML图的几种类型,全给你总结在这了!参与者是系统的用户,通过系统外部与系统发生交互来实现。 关系: 参与者与用例之间的关系,主要包括关联、归纳、包含、拓展和依赖。 UML用例图模板 (2)序列图 序列图通过描述对象之间发送消息的时间顺利显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,序列图中的每条消息对应了一个类操作https://boardmix.cn/article/umltapy/
11.基于UML的系统测试用例自动生成①用创新性地结合图论知识,对用例图和序列图进行抽象,定义了相应的测试覆盖准则以生成测试用例.通过两 级遍历,自动生成系统测试向量,并且达到所提的系统测试覆盖率的要求.能够覆盖所有用例,用例依赖性, 以及交互中所有的消息序列.实现最大化的覆盖范围. 关键词:系统测试;UML;用例图;序列图;用例自动生成;图论 Automatichttps://c-s-a.org.cn/csaen/ch/reader/create_pdf.aspx?file_no=20110242&year_id=2011&quarter_id=2&falg=1
12.plantuml画图实现代码画时序图UML用例图java这篇文章主要为大家介绍了plantuml画图实现代码画时序图示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪+ 目录 引言 最近通过代码来画时序图,UML用例图,感觉很不错,所以给大家分享一下。 日常开发,一般在设计阶段,我们都需要画时序图、用例图等等。大家平时画图的时候,是用draw.https://www.jb51.net/article/255936.htm
13.基于姿态估计及图卷积神经网络的人体行为识别系统的设计与实现(3) 行为识别系统的设计与实现 设计并实现了一款基于人体骨架的行为识别系统.该系统能够通过摄像头或者上 传视频的方式采集视频数据.然后,它会使用 OpenPose 算法来分析视频中的人体姿 势,提取关键节点信息并将其转换为骨架序列.最后,系统基于图卷积神经网络来识 别行为类型,并在前端进行可视化展示. 1.4 文章结构https://lwtj.shzu.edu.cn/openfile?dbid=72&objid=51_57_49_57_50&lwsing=4f3f189e47db81211ee4eb108b2fe893
14.uml基础教程第三章用例图讲义教材.pptuml 基础教程 第三章-用例图讲义教材.ppt,(4)特殊需求 指的是一个用例的非功能性需求和设计约束。非功能性需求包括可靠性、性能、可用性和可扩展性等。设计约束可以包括开发工具、操作系统及环境、兼容性。 (5)前置条件 执行用例之前系统必须所处的状态。 (6)后置条件https://max.book118.com/html/2018/1127/8057063134001134.shtm
15.信息系统集成专业技术用例图 Scenario Diagrams Scenario Diagrams 协作图 State Diagrams State Diagrams 构件图 Component Diagrams Component Diagrams 部署图 State Diagrams State Diagrams 对象图 Scenario Diagrams Scenario Diagrams 状态图 Use Case Diagrams Use Case Diagrams 序列图 State Diagrams State Diagrams 类图活动图 UML UMLhttps://doc.mbalib.com/view/f3121948cd7c80c36f7b72c80f329f90.html