一、前言
标题有点凶,但内容很干! 大部分程序员并不会画PPT,也梳理不出架构图。工作的年头虽然多,但却不对自己的知识进行整理汇总,久而久之只能干,不会说。好,那么本文就带着你一起画画图,做个画画的baby!
数学好的一般代码写的好,那下象棋好的呢??
做程序猿多年后,经常会有家里的亲戚询问,自己家小孩报计算机行吗。他数学好、他英语好、他喜欢打游戏...
,一般情况我也都推荐去学 java
了哈哈哈。
这也让我想到了自己为什么学计算机 · 软件工程,记得当时首先是权衡后没得选了,再者是学计算机家里还能给买个电脑。喜欢电脑,是我第一次在初中接触微机
,打开win98界面时就开始的。但,没钱买,只能以学习为目的,申请买个小霸王学习机,最后打吃蘑菇长大个
的游戏。
如果,非说会什么,才能学好编程。那我一定会想起跟随了我20年到象棋,从小学、到初中、到高中、到大学,以及毕业到现在,它都在我身边。
左侧的图是新拍
的,右侧是大学舍友对弈
,哈哈哈,怀念。我有过的战绩;
- 天天象棋,业5-3。
- 初中时跟老师、校长,对战过。
- 高中时有伙伴过来挑战,要趁着午休30分钟,赢我一把。被我半小时杀了10盘,再也不玩了。
- 大学时一个宿舍的,宿舍外面的,哈哈哈,因为范围小,没有战赢过我的。
- 工作时,其实这个时候玩的就少了,不过刚工作时,傻,把负责人杀了6、7盘,也不跟我下了。
哈哈哈,以上说的都是战绩,其实也有输的很多的时候,比如,我的小学同学园子、公元外面的老头、负责人他爸爸(老大爷是业7
)。
放下输赢,下棋确实能培养出很好的逻辑思维能力,落子能看3、5步,做套要想7、8步,就像;抽杀
、马后屁
、双炮大刀剜心
,不知道你是否也会象棋,如果了解一点,下面这盘谁赢了,到绿棋了。
小傅哥 & 20年前的象棋
逻辑思维,并不会影响最开始的学编程,也不耽误简单的功能使用,但编程这个行业每到一个阶段就会有一个瓶颈,突破数据结构、突破算法、突破业务,不断的突破自己的眼界,同时既要能写的出来,也要能讲的明白。
PPT,想讲的明白就不得不提到这个阶段,画PPT。当然这就包括了,架构图、流程图、思维导图等等,一切的这些辅助工具都是为了降低沟通成本。让受众尽可能快速的了解你的想法,把你要做的产品、设计、功能、系统,给所有人讲清楚。那么就需要借助非常明确的图来进行表达。当然,如果你能用几行文字,或者word讲明白也可以!
接下来我会介绍一些PPT画法,算是帮助一些还不会PPT的伙伴,提供一些思路。本文涉及的所有PPT素材,都可以关注公众号:bugstack虫洞栈
,回复下载
,打开链接找到ID:19。
二、会议室
谢飞机
,入职已经有3个月了,马上就要转正,转正前需要做一个述职。
组长:飞机,你的述职包括写的怎么样了?
谢飞机:我写了,把我最近开发的项目,流程图、系统架构,都写了。组长,你看看。
组长:这怎么都是文字呀,另外怎么都是模模糊糊的截图,这,怎么还加了动效!飞机,飞机,关了吧。
谢飞机:?,让人怪不好意思的,以前也没写过。
组长:PPT,是你述职用的,不是非得要你PPT做的多少看。而是让你借助PPT这个工具,把你要表达的内容,更清楚的、更快的,让受众听的明白。
谢飞机:那我要怎么开始呢?
组长:你先把这次述职要讲的内容,用思维导图总结出来,比如你要;介绍自己、参与项目、系统架构、核心流程等等,之后每一个章节在画出你要的图稿,这些图稿是辅助你来演讲的。不要大片大片的写文字,文字部分是你要很流程的说出来的,但不是照着PPT念出来的。
谢飞机:还... 还,,挺复杂,嗯,我再弄弄。
三、PPT画图
PPT是一种工具,就像word、excel一样,它们在不同领域的使用,内容展现形式上也完全不一样。但这些不一样就是每一个行业里要突出的重点。
一般在软件行业,我们PPT里画的图,通常是架构图居多。架构图等于是把真实的系统架构用图的方式,表达出来。一张清晰的架构图,应该是以解决共识、减少分歧、降低沟通成本为结果的。而架构图不一定是一张图,面向不同的人群可能会包括;物理视图
、逻辑视图
、结构视图
、流程视图
、开发视图
等,但无论有如何最终的目标都是为不同的人群,找到统一的共识。
1. 结构图
背景:为了能可以站在某个全局角度去?观察整体的系统视角,我们会画一些较粗粒度的结构图。如下采用立体图也是物理视图的一种方式,来体现研发开发到上线运维的整体视角。
小傅哥 & 系统结构图
- 难度:⭐⭐⭐⭐
- 点评:立体图在PPT里相对来说是比较难画的一种,但从效果展示上还是不错的。尤其是描述一些系统软硬件关联关系,反映出系统的组件如何部署到机器节点,指导实施过程上,会有很不错的体现。
恶搞:为了让大家更有感觉的了解到,这种图的形象感。小傅哥,把这张图的文字部分全部替换掉。
小傅哥 & 庞各庄大学
- 难度:⭐⭐⭐⭐
- 点评:
是不有点哪味了
,这回感受到它很方便看了吧!
2. 架构图
说明:通常我们提到的架构图,是一张可以展示系统架构分层,制定标准规范的演示图。也可以用于描述系统服务分层,例如;支付宝架构演变、美团的系统服务、微信的支付架构等等,都可以采用类似的形式进行展示。
小傅哥 & 架构图
- 难度:⭐⭐⭐
- 点评:这样的图其实并不难画,从结构上分为上下和左右。上下代表系统分层,左右代表不同区域分块。按照这样的结构,你能把你的系统架构说明白。当然,不要拘泥于某一种形式,重点还是把事情说清楚。
3. 功能图
说明:在表述完系统架构后,还需要对系统的核心数据流向,怎么通信,怎么交互,进行定义和展示。而这一部分就是架构图中的核心业务实现部分,有了这样统一的结构,也就可以方便让所有研发都能在一个标准下开发。
小傅哥 & 功能图
- 难度:⭐⭐⭐
- 点评:这是一张面向领域驱动设计的系统模块交互图,从左到右展示了数据的流向以及和其他系统间的数据关系。这样的图主要用于区分系统边界职责,避免在定义混乱下,职责不清晰,乱开发。
4. 流程图
说明:流程图是研发最常见的,也就是在visio中画的业务流程,指导研发开发的图。这部分图可以是由产品设计再有研发整理成技术实现流程。这样图非常重要,因为它的每一个走向,都在指导功能实现。
小傅哥 & 流程图
- 难度:⭐⭐
- 点评:这样的图一般都体现在visio的泳道里,而画在ppt里都是经过缩减后,展示核心流程的,就像是否过风控等这里就没有画。而这里重点的体现,就是Wie了对某些核心重点流程的讲解和示意。
5. 逻辑图
说明:逻辑图也整个系统架构图的一部分,相对来说是最难的那部分,因为需要把系统中复杂的逻辑展示到图上,尤其是那种涉及到数学逻辑的。这里我们画一张 ThreadLocal
开放寻址插入数据的逻辑图。相关文章请阅读《ThreadLocal 你要这么问,我就挂了!》
小傅哥 & 流程图
- 难度:⭐⭐⭐⭐
- 点评:
ThreadLocal
插入数据的具体逻辑就不在这叙述了,相关内容可以阅读《ThreadLocal 你要这么问,我就挂了!》 这部分PPT的内容,主要难在需要把本身就抽象的数学逻辑,用很好的图表达清楚。通过看图就能理解逻辑的核心内容,这样也就非常好的降低了沟通成本,也能让学习者有个参考。
四、总结
- 一直有小伙伴问我文章里的图什么工具画的,还蛮好看的。其实都是在
PPT
上画的,只要有一些格子、线条、颜色等就可以画图了,其他的工具也一样,例如Visio
里也可以画。同时xmind
也是一个非常好的工具。 - PPT图稿的主要目的是为了把复杂的逻辑讲清楚,降低沟通成本,但如果有人拿PPT跟你画大饼,记得不要吃。
- 很多程序员别说画PPT,自己写的代码讲到所有人听懂都不容易。所以为了可以走的更远,就一定要突破这种逻辑思维的表述能力,多学多看多做。