写代码,为什么还需要作图?

引言

古人云 :一图胜千言,闲人说:无图无真相。

在日常的聊天工具当中,无论是使用微信,还是钉钉。使用图片或表情包的频次越来越高,那是为什么呢?其实在互联网没有那么发达的时候,我们都是通过电话或短信的方式来沟通交流,这种方式也是能够解决信息传达的问题,只是在情感表达或表情上无法充分展示当事人的情绪及感受。那么随着互联网的快速发展,目前流行的各种表情包,都被大众所乐捧、喜爱,这种方式可以让绝大多数的人理解事情的真相,了解当事人的情绪。

回到我们自己本身来说,不仅是开发人员需要掌握画图的技能,其实其他的人也都应该掌握该项技能。做图可以将零散的知识碎片结构化,通过图形来结构化我们的思维模式,这样的好处是可以清晰的认识到自身对事物的理解和掌控程度。

今天这次分享的主要目的,还是对我们的技术开发人员来说的,当然其他的人也同样受用。对于我们技术人员来说,从以下的几个方面来说明画图的好处。首先,在我们编码之前先做设计图,可以清楚的让自己认识到对业务需求的理解程度,避免自己一边写编码一边踩业务需求的坑。其次,可以减少人员之间的沟通理解成本,看图总比看代码更容易理解业务逻辑,也能够让不懂技术的人明白程序实现的真正逻辑。最后,程序的设计图,可以存档沉淀为公司宝贵的技术资源,优秀的设计图还可以共享给其他的人学习参考,实现真正的 “共同富裕”。(大家好,才是真的好)

那么,下面开始介绍几种,我们比较常用图形的作图方法。

思维导图

思维导图又称为脑图,使用一个关键词或者想法引出的一系列形象化、分类的想法,是一种结构化思维的树形发散图。一个事物有很多个维度,通过思维导图去合理细化每一个节点。

类图

类图常用于数据表的实体关系设计。实体之间一般有四种关联关系,从强到弱依次是:组合、聚合、依赖、关联。对于组合和聚合关系,在设计中可以用一个字段代替,例如:联系人信息,可以代替联系姓名、联系方式、联系地址等。对于依赖和关联,其实就是实体表结构的一种关系,例如:1对多,多对1,多对多。

时序图

时序图常用于分析复杂的业务流程,时序图不需要将所有的时序都细化,只需要聚集关注点,关系核心逻辑。

流程图

流程图可以通过纵向泳道和横向泳道来划分,纵向泳道表示阶段,横向泳道表示参与方。

架构图

架构图有很多种,常见的例如:系统架构图、网络架构图、业务架构图等。我们对不同的场景、对象,需要输出不一样的架构。架构图主要是为了抽象的描述整体与各个子系统、组件的关系及边界;描述软件系统的物理部署和软件系统的演进方向的整体视图。

总结

画图是理解业务逻辑思考锻炼的过程,是分析复杂业务逻辑的基本功力。有时我们面对一个业务,脑子里整理思路的时候,想的明明白白,但是一画图则原型毕露,暴露出很多没有考虑到的问题。因此在编码之前,画图是很有必要的,它可以理清逻辑,能提前发现逻辑错误并予以及时纠正。最后,画图也是需要我们掌握的必备技能之一,它可以适应各种行业、各种场景,不仅仅只是适合编码;希望这次的分享,可以让大家对画图这项技能有个基本的认识,能够意识到其重要性;当然这次的分享,也只是做到抛砖引玉的作用,还有很多涉及到画图的知识和技能,这里都没有展开详谈;画图就类似磨刀不误砍柴工,以后大家可以多去了解、尝试。


欢迎关注、分享、点赞、收藏、在看,我是微信公众号「码农先森」作者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QAnything接口文档

QAnything接口主要包括7个接口:新建知识库、查看知识库、删除知识库;上传文件、获取文件列表、删除文件;问答。 一.新建知识库(POST) 1.URL http://{your_host}:8777/api/local_doc_qa/new_knowledge_base2.请求参数…

【Linux】:命令行参数

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux命令行参数的相关知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入…

禹神electron学习~

最近时间比较富裕 咱们浅浅来学习下electron 视频在这禹神:一小时快速上手Electron,前端Electron开发教程_哔哩哔哩_bilibili 先看下流程模型 先决条件 首先第一步 查看你的node和npm版本 创建你的应用 创建一个文件夹 我创建的名称为my-electron-…

Transformer动画讲解 - 工作原理

Transformer模型在多模态数据处理中扮演着重要角色,其能够高效、准确地处理包含不同类型(如图像、文本、音频、视频等)的多模态数据。 Transformer工作原理四部曲:Embedding(向量化)、Attention(注意力机制)、MLPs(多层感知机)和Unembedding(模型输出)。 阶段一:…

机器人控制系列教程之任务空间运动控制器搭建(2)

Simulink中的实例 推文《机器人控制系列教程之任务空间运动控制器搭建(1)》中,我们详细的讲解了Simulink中的taskSpaceMotionModel模块,实现的方式可以按照如下的步骤。 可以控制器模型替换为taskSpaceMotionModel模块后,该模块的输入分别为…

git 命令之 stash 命令详解

Git Stash 命令详解 在 Git 版本控制系统中,git stash 命令是开发者们的一个强大工具,它允许开发者保存当前工作目录的修改,以便稍后能够重新应用这些修改。这在需要切换分支或处理紧急任务时非常有用,因为它可以帮助开发者保持工…

501、二叉搜索树中的众数

给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。如果树中有不止一个众数,可以按 任意顺序 返回。 假定 BST 满足如下定义&#xff1…

周报 | 24.6.24-24.6.30文章汇总

为了更好地整理文章和发表接下来的文章,以后每周都汇总一份周报。 程序员学长 | 快速学会一个算法,Transformer(下)-CSDN博客 周报 | 24.6.17-24.6.23文章汇总-CSDN博客 python | NLTK,一个强大的 自然语言处理 Pyt…

Redis面试合集

概念 Redis是一种key-value型非关系数据库。 特点: 1、速度快,存在于内存中,类似于HashMap,HashMap的操作和查找的时间复杂度都是O(1) 2、支持丰富的数据类型,包括字符串、哈希、列表、集合、有序集合五种数据类型…

解锁跨境电商新边界:Temu API接口深度解析引言

引言 在竞争激烈的跨境电商领域,高效、精准的数据获取成为商家制胜的关键。Temu(拼多多跨境电商)作为行业内的新秀,其API接口服务为商家提供了强大的数据交互能力,尤其是其获取商品详情的核心功能,更是为商…

Python 文件操作

文件编码 将文件的内容翻译为二进制 文件操作 打开文件 open函数 语法: open(name, mode, encoding)name:文件名的字符串,可以包含具体路径。若没有路径,则默认为与py文件位于同一层 mode:打开文件的模式&#xf…

新质生产力最新测算(Shp/dta/xcel格式,2012-2022年)

数据简介:参考学者蔡湘杰、贺正楚的做法、我们通过收集数据构建了如下所示的衡量新质生产力的指标体系,但部分数据由于收集难度以及未公布等问题,部分数据有缺少,下面展示了部分原始数据,便于大家进行分析。 数据来源…

sql 的 update操作

sqlserver:在SQL Server中,你的UPDATE语句的语法需要稍微调整一下。你不能直接在SET子句之后立即跟INNER JOIN。正确的语法是将JOIN操作放在UPDATE和SET之间。以下是正确的写法: UPDATE test_item SET test_item.s1no subcontractor.s1no FROM test_it…

【PYG】简单分析Planetoid()中存储Cora数据集边的数量

文章目录 这得分析cora.cites原始文件步骤示例代码输出解释分析 chagpt生成的第一个版本答案,打印数据集的部分可以看下输出解释进一步验证总结 chatgpt生成的第二个版本答案检查 Cora 数据集的边输出解释检查边的方向性解释进一步优化运行结果解释 chagpt生成的第三…

RedHat9 | 内部YUM本地源服务器搭建

服务器参数 标识公司内部YUM服务器主机名yum-server网络信息192.168.37.1/24网络属性静态地址主要操作用户root 一、基础环境信息配置 修改主机名 [rootyum-server ~]# hostnamectl hostname yum-server添加网络信息 [rootyum-server ~]# nmcli connection modify ens160 …

mac 安装cnpm 淘宝镜像记录

mac 安装cnpm 淘宝镜像记录 本文介绍了在安装cnpm时遇到权限问题的解决方案,包括使用sudo,处理SSL证书过期,以及因版本不一致导致的错误处理方法,步骤包括设置npm配置、卸载和重新安装cnpm到特定版本。 安装 npm install cnpm …

Ansible 最佳实践:现代 IT 运维的利器

Ansible 最佳实践:现代 IT 运维的利器 Ansible 是一种开源的 IT 自动化工具,通过 SSH 协议实现远程节点和管理节点之间的通信,适用于配置管理、应用程序部署、任务自动化等多个场景。本文将介绍 Ansible 的基本架构、主要功能以及最佳实践&a…

免费开源的后端API服务-supabase安装和使用-简直是前端学习者福音

文章目录 它是什么安装和部署关于安装关于部署1、注册用户2、创建组织3、创建项目 创建数据库表(填充内容)填充数据库表 使用postman联调API 它是什么 一个开源免费的后端框架,firebase的替代品。可以简单理解类似于headless cms&#xff0c…

8605 删数问题

这是一个典型的贪心算法问题。我们可以从高位开始,找到第一个比后面数字大的数字,删除它,然后继续这个过程,直到删除k个数字。如果我们已经删除了k个数字,但是还没有找到一个比后面数字大的数字,那么我们就…

【多模态LLM】以ViT进行视觉表征的多模态模型1(BLIP-2、InstructBLIP)

note CLIP和BLIP的区别: CLIP:通过对比学习联合训练,预测图像和文本之间的匹配关系。即使用双塔结构,分别对图像和文本编码,然后通过计算cos进行图文匹配。BLIP:包括两个单模态编码器(图像编码…