流程图

前言

参考链接:

今天在看以前写到一半的程序的时候有些沮丧,逻辑都理不明白了。我就在想啊,如果我之前有画一个流程图的话,现在再看逻辑是不是就清楚多了。不用耽误特别长地时间。我想这种问题肯定不止我一个人遇到过,大多数人肯定都懒得画这东西。

好吧, 学习一下。

为什么需要流程图

就像我在前言中提到的那样,因为逻辑复杂,再通过阅读代码的方式理清程序的逻辑会很麻烦,而且比较耽误时间。最好的方式是一边阅读代码,一边看流程图对照梳理逻辑。流程图的作用就是帮助我们将复杂的过程直观地展示出来,提高我们的效率。而且,流程图还能帮助我们优化程序流程,方便我们寻求改进的机会。再者,流程图可以提高我们职场的沟通效率,有些问题难以用口头表述,用一张流程图,就能高效地解决沟通问题。

流程图

要学会使用流程图,首先要知道流程图的各个图形形状所代表的意思。下面这张图介绍了一些画流程图的特定符号,一定要记清楚:

其中有几个是重要且最常用的,要牢记!

流程图结构

跟程序一样,流程图有三大结构:顺序、选择和循环。感觉也不能说是跟程序一样,应该说是我们在处理一些事时所采取的方式。

顺序

各个步骤是按先后顺序执行的,即完成上一个指定的操作,才能执行下一个动作。

选择

分支结构,用于判断给定的条件,根据判断的结果,来控制程序的流程。在实际操作中,某一判定结果可以为空。

循环

又称为重复结构,流程在满足一定的条件下,反复执行某一操作的流程结构。循环结构又分为“当型结构”和“直到型结构”。循环结构包括三个要素:循环变量、循环体和循环终止条件。

当型结构:先判断所给条件 P 是否成立,若 P 成立,则执行 A(步骤);再判断条件 P 是否成立;若 P 成立,则又执行 A,若此反复,直到某一次条件 P 不成立时为止。

直到型结构:先执行 A,再判断所给条件 P 是否成立,若 P 不成立,则再执行 A,如此反复,直到 P 成立,该循环过程结束。

我最开始理解的当型结构就是while循环,直到型结构就是do...while循环,这个直到型的理解是有问题的。问题在于:当条件成立时,才会执行循环体;不成立时应当退出循环,这和直到型结构判断后执行的操作相悖。

流程图绘图注意事项

万事都有门道儿。

  1. 为了提高流程图的逻辑性,应遵循从左到右、从上到下的顺序排列。一个流程从开始符开始,以结束符结束,开始符只有一个,结束符号可以有多个。若流程足够清晰,可省略开始、结束符号。个人建议还是不要省略,善始善终。

  2. 菱形为判断符号,必须要有“是和否”两种处理结果。也就是说,菱形判断框一定需要有两条箭头流出;且判断符号的上下端流入流出一般用“是”,左右端流入流出用“否”。

  3. 同一流程图内,符号大小需要保持一致,同时连接线不能交叉,连接线不能无故弯曲。

  4. 流程处理关系为并行关系的,需要将流程放在同一高度。

  5. 必要时应采用标注,以此来清晰地说明流程,标注要用标准的标注符号。

  6. 处理流程须以单一入口和单一出口绘制,同一路径的箭头应只有一个。

  7. 流程图中,如果有参考其他已经定义的流程,不需重复绘制,直接用已定义流程符号即可。

Markdown 中的流程图

如何使用 Markdown 绘制流程图就不在这篇文章中写了,其内容放置到 Markdown 的文章中了。

编辑软件推荐

推荐使用 WPS 的流程图功能。功能菜单很直观,而且在流程框方面也有辅助,这一点对于画一个满意的流程图至关重要。也支持“一键美化”功能,选中内容然后美化即可。

支持其他图形,像网络拓扑、组织结构等。对于普通人来讲,功能已经足够。

个人还是比较看好 wps 的发展。wps 功能还是很强大的。相比 office,本土化做的更好,而且有种这几年 wps 不断在蚕食 office 市场份额的感觉,而且付费用户量不断提升。主要是本身质量就挺好,再加上强大的云同步功能,在 wps 上画好保存上传云后,在其他终端也可访问编辑,也不需要保存在其他云盘回家再下载下来,这是办公编辑软件的先天优势。

其他推荐:

  • vscode 上支持的插件:VSCode Drawio
  • 偶然间遇到的这个网站,看别人的介绍感觉也可以。

流程图
https://ahtoh.cn/2022/10/18/流程图/
作者
ahtoh
发布于
2022-10-18 19:18
许可协议