登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
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的活动图还有其他特性和语法,可以上官网的文档查阅、使用。
最后
小弟不才,学识有限,如有错漏,欢迎指正哈。
如果本文对你有帮助,记得“一键三连”(“点赞”、“评论”、“收藏”)哦!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
工具
分享
如何
快速
可视化
相关帖子
详细解析Spring如何解决循环依赖问题
详细解析Spring如何解决循环依赖问题
详细解析Spring如何解决循环依赖问题
C# 面试高频题:装箱和拆箱是如何影响性能的?
OpenClaw 是什么?它和 AI工具 以及 Agent 之间是什么关系?
效率工具推荐!一款开源免费的代办管理工具!
JVM排查工具单
分享 5 种 .NET 桌面应用程序自动更新解决方案
我用 AI 辅助开发了一系列小工具(1):文件提取工具
做了一个网页天气可视化 2
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
详细解析Spring如何解决循环依赖问题
0
573
孙淼淼
2026-03-27
业界
详细解析Spring如何解决循环依赖问题
0
182
崔瑜然
2026-03-27
业界
详细解析Spring如何解决循环依赖问题
0
766
旌磅箱
2026-03-27
业界
C# 面试高频题:装箱和拆箱是如何影响性能的?
0
410
旱由
2026-03-27
安全
OpenClaw 是什么?它和 AI工具 以及 Agent 之间是什么关系?
0
90
揉幽递
2026-03-28
安全
效率工具推荐!一款开源免费的代办管理工具!
0
5
慢秤
2026-03-30
业界
JVM排查工具单
0
686
坡琨
2026-03-30
业界
分享 5 种 .NET 桌面应用程序自动更新解决方案
0
997
寥唏
2026-03-30
业界
我用 AI 辅助开发了一系列小工具(1):文件提取工具
0
375
倡遍竽
2026-03-30
业界
做了一个网页天气可视化 2
0
944
赫连如冰
2026-03-30
回复
(35)
痕伯
2025-11-26 18:49:39
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
鼓励转贴优秀软件安全工具和文档!
菅舛
2025-11-27 06:33:56
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
呶募妙
2025-12-5 04:05:29
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
恿榫
2025-12-29 06:54:34
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢分享,试用一下
颛孙中
2026-1-18 03:35:16
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,下载保存了,貌似很强大
砂歹汤
2026-1-18 08:06:20
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,试用一下
时思美
2026-1-18 21:00:03
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
分享、互助 让互联网精神温暖你我
任佳湍
2026-1-22 10:08:23
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
廖雯华
2026-1-22 11:04:52
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
颐港
2026-1-22 13:53:48
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享,学习下。
梁丘艷蕙
2026-1-24 07:33:20
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
聚怪闩
2026-1-26 08:59:58
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
豹筒生
2026-1-30 02:07:03
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
锑砖
2026-1-30 07:37:17
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享
搜娲瘠
2026-2-3 09:12:36
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
松菊
2026-2-4 03:50:35
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
庾签
2026-2-4 04:06:38
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
汲佩杉
2026-2-5 04:10:43
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
崆蛾寺
2026-2-5 04:17:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
章海
2026-2-5 04:17:53
关注
0
粉丝关注
13
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9916
7
宋子
9878
8
荪俗
9020
9
闰咄阅
9997
10
刎唇
9999
查看更多
今日好文热榜
580
Qt 技巧笔记(十四):QTableWidget 表格组
259
【JavaScript高级编程】拆解函数流水线 上
442
Claude 绝密模型泄露!Sora 关停、AI 工具
388
P10387 [蓝桥杯 2024 省 A] 训练士兵
110
电容是什么?一个“快充快放”的微型充电宝
943
做了一个网页天气可视化 2
694
Redis命令处理机制源码探究
722
读2025世界前沿技术发展报告27核力量
1
读2025世界前沿技术发展报告27核力量
2
读2025世界前沿技术发展报告27核力量
1
读2025世界前沿技术发展报告27核力量
1
读2025世界前沿技术发展报告27核力量
1
读2025世界前沿技术发展报告27核力量
1
Claude 绝密模型泄露!Sora 关停、AI 工具
1
做了一个网页天气可视化 2
1
做了一个网页天气可视化 2
1
Redis命令处理机制源码探究
1
【JavaScript高级编程】拆解函数流水线 上
1
Claude 绝密模型泄露!Sora 关停、AI 工具
1
Claude 绝密模型泄露!Sora 关停、AI 工具