登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
安全
›
【工具分享】如何快速地、可视化地跟其他同学沟通复杂逻 ...
【工具分享】如何快速地、可视化地跟其他同学沟通复杂逻辑——用代码画流程图
[ 复制链接 ]
章海
2025-11-21 14:15:01
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
版本日期修订人描述V1.02025/3/9nick huang创建文档V1.12025/3/11nick huang添加「循环 或 遍历」章节
背景
做
需求澄清
、
技术澄清
的时候,我们需要给其他同学表述
业务逻辑
或
技术实现逻辑
。
这些逻辑,用文字往往
冗长
、
可读性差
。
这个时候,我们往往考虑用流程图来表达其中的逻辑。
流程图,因其可视化的特性,可读性确实提高了许多。
但画流程图的效率总是不如意,需要稍长的时间。
前段时间,使用了一款用代码生成流程图的工具,使用下来还不错。
故本文分享之。
文字描述 与 流程图描述 的对比
下图描述的「查询字典数据(先查询Redis,如没命中查数据补偿)」的逻辑。
如果用纯文字描述,因涉及2个判断、2个读数操作、1个写数操作,描述起来会比较
冗长、繁琐
。
而使用流程来
可视化
,则显得逻辑清晰:
这是用 PlantUML 画的,代码如下:
@startuml
start
:从Redis中查询指定字典数据;
if (判断查得的Redis字典数据是否为空?) then (不为空)
#palegreen:返回数据;
stop
else (为空)
:从数据库查询指定字段数据;
if (判断查得的数据库字典数据是否为空?) then (为空)
#pink:提示:没有找到数据;
stop
else (不为空)
:写入Redis,缓存起来,供下次快速查询;
#palegreen:返回数据;
stop
@enduml
复制代码
PlantUML
上图是用 PlantUML 画的,官网是:https://plantuml.com/zh/。
流程图,在他的官网描述的是活动图。
他有 Web 在线的编辑器。但我习惯用他在IDE的插件,比如Java开发工具IntelliJ IDEA的插件PlantUML Integration。
Tips
除了活动图,他的序列图我感觉也不错。
本文主要介绍活动图。
常用的基础语法及解析
开始节点、结束节点
开始节点:实心圆点
结束节点:半实心圆点
代码:
@startuml
start
stop
@enduml
复制代码
效果:
常规的流程节点
作用:用于表示常规流程操作,不涉及条件判断
形状:圆角长方形
代码:
@startuml
start
:业务操作;
stop
@enduml
复制代码
效果:
判断节点
作用:用于表示条件判断
形状:菱形
代码:
@startuml
start
if (今天天气是否晴朗?) then (不晴朗)
:请带上雨伞哦!;
else (晴朗)
:去郊游吧!;
endif
stop
@enduml
复制代码
效果:
对于判断节点,如果判断完毕后执行完业务节点后程序结束。
我有时候倾向这么写,觉得可读性更高(虽然这样流程图有多个结束节点):
@startuml
start
if (今天天气是否晴朗?) then (不晴朗)
:请带上雨伞哦!;
stop
else (晴朗)
:去郊游吧!;
stop
@enduml
复制代码
效果:
给节点加上颜色
作用:给节点加上颜色
代码:
@startuml
start
#palegreen:业务操作;
stop
@enduml
复制代码
效果:
有时候,流程判断后,有时候有成功或失败的结果导向,给节点加上相应的「红绿灯」颜色,可读性更高:
@startuml
start
if (今天天气是否晴朗?) then (不晴朗)
#pink:请带上雨伞哦!;
stop
else (晴朗)
#palegreen:去郊游吧!;
stop
@enduml
复制代码
效果:
循环 或 遍历
作用:用于表示循环、遍历
形状:循环是否结束的判断、返回的箭头、循环结束的箭头
判断在前面的代码示例:
@startuml
start
while (遍历“userLIst”是否结束) is (未结束)
:操作1;
:操作2;
endwhile (结束)
:后续操作;
stop
@enduml
复制代码
效果:
判断在后的代码示例:
@startuml
start
repeat :循环开始的那个业务操作;
:操作2;
:操作3;
repeat while (遍历“userLIst”是否结束)
stop
@enduml
复制代码
效果:
其他
本文只列举本人经常使用的语法。
PlantUML的活动图还有其他特性和语法,可以上官网的文档查阅、使用。
最后
小弟不才,学识有限,如有错漏,欢迎指正哈。
如果本文对你有帮助,记得“一键三连”(“点赞”、“评论”、“收藏”)哦!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
工具
分享
如何
快速
可视化
相关帖子
实时行情系统的第一道槛:如何应对数据源的“限流”与“断流”
实时行情系统的第一道槛:如何应对数据源的“限流”与“断流”
实时行情系统的第一道槛:如何应对数据源的“限流”与“断流”
实时行情系统的第一道槛:如何应对数据源的“限流”与“断流”
如何使用 UEFI Shell 执行 Hello World 程序
.NET 高级开发 | 开发 .NET 诊断工具、链路追踪原理
如何优雅地为 OpenClaw 安装 skill 技能包
如何优雅地为 OpenClaw 安装 skill 技能包
2026年AI金融工具排行榜:深度测评7款工具后,发现真正的差距不在应用层
MAF快速入门(21)RC5引入的Script运行能力
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
实时行情系统的第一道槛:如何应对数据源的“限流”与“断流”
1
714
掳诚
2026-04-01
业界
实时行情系统的第一道槛:如何应对数据源的“限流”与“断流”
1
738
浅皮懔
2026-04-01
业界
实时行情系统的第一道槛:如何应对数据源的“限流”与“断流”
1
474
岑韬哎
2026-04-01
业界
实时行情系统的第一道槛:如何应对数据源的“限流”与“断流”
0
697
人弧
2026-04-01
业界
如何使用 UEFI Shell 执行 Hello World 程序
1
683
剽达崖
2026-04-01
业界
.NET 高级开发 | 开发 .NET 诊断工具、链路追踪原理
0
741
靛尊
2026-04-02
安全
如何优雅地为 OpenClaw 安装 skill 技能包
1
6
喳谍
2026-04-02
安全
如何优雅地为 OpenClaw 安装 skill 技能包
0
728
都硎唷
2026-04-02
业界
2026年AI金融工具排行榜:深度测评7款工具后,发现真正的差距不在应用层
0
672
梁宁
2026-04-02
业界
MAF快速入门(21)RC5引入的Script运行能力
0
221
布相
2026-04-03
回复
(36)
痕伯
2025-11-26 18:49:39
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
菅舛
2025-11-27 06:33:56
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
呶募妙
2025-12-5 04:05:29
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
恿榫
2025-12-29 06:54:34
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,试用一下
颛孙中
2026-1-18 03:35:16
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享,下载保存了,貌似很强大
砂歹汤
2026-1-18 08:06:20
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢分享,试用一下
时思美
2026-1-18 21:00:03
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
任佳湍
2026-1-22 10:08:23
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
分享、互助 让互联网精神温暖你我
廖雯华
2026-1-22 11:04:52
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
热心回复!
颐港
2026-1-22 13:53:48
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享,学习下。
梁丘艷蕙
2026-1-24 07:33:20
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
聚怪闩
2026-1-26 08:59:58
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
鼓励转贴优秀软件安全工具和文档!
豹筒生
2026-1-30 02:07:03
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
锑砖
2026-1-30 07:37:17
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享
搜娲瘠
2026-2-3 09:12:36
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
松菊
2026-2-4 03:50:35
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
庾签
2026-2-4 04:06:38
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
汲佩杉
2026-2-5 04:10:43
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
崆蛾寺
2026-2-5 04:17:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
章海
2026-2-5 04:17:53
关注
0
粉丝关注
11
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9529
6
韶又彤
9912
7
荪俗
9024
8
宋子
9875
9
蓬森莉
9871
10
俞瑛瑶
10000
查看更多
今日好文热榜
0
微软前CTO长文控诉:Windows被搞成一锅粥!
0
三千年的欲望、痕迹与自感:资本批判与伦理
499
三千年的欲望、痕迹与自感:资本批判与伦理
133
AI上号!即构AI Agent让语音游戏24小时 “
618
AI上号!即构AI Agent让语音游戏24小时 “
347
AI上号!即构AI Agent让语音游戏24小时 “
857
AI上号!即构AI Agent让语音游戏24小时 “
757
AI上号!即构AI Agent让语音游戏24小时 “
116
AI上号!即构AI Agent让语音游戏24小时 “
604
AI上号!即构AI Agent让语音游戏24小时 “
253
AI上号!即构AI Agent让语音游戏24小时 “
108
AI上号!即构AI Agent让语音游戏24小时 “
389
AI上号!即构AI Agent让语音游戏24小时 “
348
聊聊 ASP.NET Core 中间件和过滤器的区别
2
SpringCloud进阶--MySQL主从复制、分库分表
3
企业数字化转型避坑指南:这10个“雷区”90
447
题解:ABC394F - Alkane
887
Kthena + vLLM-Ascend:云原生大模型推理的
189
题解:ABC394F - Alkane
29
AI上号!即构AI Agent让语音游戏24小时 “