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

引言

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

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

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

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

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

思维导图

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

类图

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

时序图

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

流程图

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

架构图

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

总结

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


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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法题笔记

主要记录python的力扣题解 参考的优质网站: 算法通关手册(LeetCode) | 算法通关手册(LeetCode) (itcharge.cn) 代码随想录 (programmercarl.com) 2024.6.28 题目:轮转数组 官网连接:189. …

Linux环境安装配置nginx服务流程

Linux环境的Centos、麒麟、统信操作系统安装配置nginx服务流程操作: 1、官网下载 下载地址 或者通过命令下载 wget http://nginx.org/download/nginx-1.20.2.tar.gz 2、上传到指定的服务器并解压 tar -zxvf nginx-1.20.1.tar.gzcd nginx-1.20.1 3、编译并安装到…

武汉星起航:跨境电商流量红利爆发,2023年出海企业迎突破增长

在数字时代的浪潮中,中国跨境电商以惊人的爆发力崭露头角,成为全球贸易的璀璨新星。2023年数据显示,跨境电商出口额高达1.83万亿元,同比增长19.6%,这一显著增速不仅刷新纪录,更为众多出海企业带来了前所未有…

vscode搭建suricata调试环境

一、环境 windows10 wsl2 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal二、编译 2.1 下载源码 wget https://www.openinfosecfoundation.org/download/suri…

配电智能网关赋能电力系统智能化运行维护

随着智能电网和物联网技术的不断发展,两者之间的融合应用成为电力行业的重要趋势。配电智能网关作为连接两者的关键设备,在智能电网的物联网应用中发挥着重要作用。 配电智能网关能够实现对电力系统的实时监控、数据采集、远程控制等功能,为…

【Vue】微信禁止打开,可弹出提示:请用360、搜狗浏览器的极速模式打开。

需求 某网站链接,使用微信端打开,某些材料自动下载会造成泄密。所以添加限制:微信禁止打开,可弹出提示:请用360、搜狗浏览器的极速模式打开。 处理前 微信访问该链接,点击【继续访问】可直接跳转到该网站 处…

苍穹外卖项目 常用注解 + 动态sql

常用注解 常见的注解解析方法有两种: 编译期直接扫描:编译器在编译 Java 代码的时候扫描对应的注解并处理,比如某个方法使用Override 注解,编译器在编译的时候就会检测当前的方法是否重写了父类对应的方法。运行期通过反射处理&…

ROS2使用C++开发动作通信

1.开发接口节点 cd chapt4_ws/ ros2 pkg create robot_control_interfaces --build-type ament_cmake --destination-directory src --maintainer-name "joe" --maintainer-email "1027038527qq.com" mkdir -p src/robot_control_interfaces/action touch…

C#中的时间数据格式化详解与应用示例

文章目录 1、基本概念基本格式化方法 2、实用的时间格式化方法格式化日期格式化时间格式化时间戳解析日期时间字符串 3、实际应用4、应用示例结论 在软件开发中,时间数据是无处不在的。无论是用户登录时间、数据备份时间,还是日志记录,都需要…

NSE and KGE

NSE(Nash-Sutcliffe Efficiency): 解释:NSE 是衡量水文模型模拟结果与观测值之间拟合程度的指标。它计算模拟值与观测值之间的均方误差,并将其与观测值的方差进行比较。NSE 的取值范围为-∞至 1,值越接近 1…

natvicat为什么连不上linux上的mysql?

老规矩,废话不多说,直接上教程。 号外,数据库管理工具领域的知名品牌Navicat,推出其免费版本——Navicat Premium Lite,用户可从Navicat官网下载体验这款软件。 https://www.navicat.com.cn/download/navicat-premium-…

vue3 动态配置element 的table

需求 合并行、合并标题、列宽可调整、列顺序可调整、可以控制列是否显示、列布局可保存、导出excel… 参考效果 代码 引入 npm i xlsx npm install element-plus --savetable组件 <template><div><div class"table-btn"><el-tooltip conte…

开发一套java语言的智能导诊需要什么技术?java+ springboot+ mysql+ IDEA互联网智能3D导诊系统源码

开发一套java语言的智能导诊需要什么技术&#xff1f;java springboot mysql IDEA互联网智能3D导诊系统源码 医院导诊系统是一种基于互联网和3D人体的智能化服务系统&#xff0c;旨在为患者提供精准、便捷的医院就诊咨询服务。该系统整合了医院的各种医疗服务资&#xff1b;智慧…

selenium 简介以及 selenium 环境配置

文章目录 一、初识 selenium1.selenium 简介2.selenium 三大组件3.selenium工作过程和原理4.selenium自动化测试流程5.selenium优点 二、自动化测试1.UI自动化本质2.UI自动化的前提3.适用场景4.UI自动化的原则5.UI自动化的覆盖率 三、selenium 环境配置 一、初识 selenium 1.s…

Win11找不到组策略编辑器(gpedit.msc)解决

由于需要同时连接有线网络和无线网络&#xff0c;且重启后双网络都自动连接&#xff0c;因此需要配置组策略。 但是win11找不到组策略编辑器。 灵感来源&#xff1a;Win11找不到组策略编辑器&#xff08;gpedit.msc&#xff09;解决教程 - 知乎 (zhihu.com) 在Win11中&#…

安装KB5039212更新卡在25% 或者 96% 进度

系统之家7月1日消息&#xff0c;微软在6月11日的补丁星期二活动中&#xff0c;为Windows 11系统推出了KB5039212更新。然而&#xff0c;部分用户在Windows社区中反映&#xff0c;安装过程中出现失败&#xff0c;进度条在25%或96%时卡住。对于遇到此类问题的Windows 11用户&…

创意无界:探索国产创成式填充的无限潜力

在数字艺术与设计的世界中&#xff0c;创新技术不断涌现&#xff0c;而"创成式填充"无疑是其中的一颗璀璨新星。今天米兔要安利的这款国产ps插件-StartaAI拥有强大的AI功能&#xff0c;其AI扩图和局部重绘更是成为PS创成式填充的国产平替。 什么是创成式填充&#x…

Linux运维:mysql高级查询语句(2)

目 录 一、创建数据库&#xff1a; 二、创建表结构&#xff1a;DDL 2.1 学生表s&#xff1a; 2.2 成绩表sc&#xff1a; 2.3 课程表c&#xff1a; 三、录入数据&#xff1a;DML 3.1 对学生表s的数据录入&#xff1a; 3.2 对成绩表sc的数据录入&#xff1a; 3.3 对课…

Linux内核——Linux内核体系模式(二)

1 Linux系统的中断机制 Linux内核将中断分为两类&#xff1a;硬件中断和软件中断&#xff08;异常&#xff09;。每个中断是由0-255之间的一个数字进行标识。 中断int0-int31&#xff08;0x00-0x1f&#xff09;作为异常int32-int255由用户自己设定 int32-int47对应与8259A中断…

4PCS点云配准算法实现

4PCS点云配准算法的C实现如下&#xff1a; #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/common/common.h> #include <pcl/common/distances.h> #include <pcl/common/transforms.h> #in…