像机器一样思考(四)—— 一图抵千言

转自:https://www.zybuluo.com/jtong/note/774931

当我们把一个完整的功能拆解为一个个输入输出穷尽,互相独立的任务后,它是容易转化为代码了,可是这种方式并不容易思考规模更大的问题(光从哪来到哪去就够我们绕的)。把我们的大脑看成一台电脑,我们就是那种内存很低的电脑,问题规模一大,我们就会死机,然后就只能重启了。具体表现为我们思考时会觉得晕。每次晕的时候可能都重启了一下:)。

怎么办呢实也很简单,内存不够硬盘来凑。对我们的大脑来说,最常见的“硬盘”就是纸。而正如电脑的硬盘传输速度总是不如内存的,加了硬盘计算效率不一定快。我们需要一种对传输友好的编码方式,这种方式就是画图。

画图的规则

我们的画图方法受时序图启发而发明,具体的规则如下:

  1. 本图基本元素由方块和带箭头的线组成
  2. 一个方块只代表一个函数或一个代码块,通常是函数,方块中可以写字,可以表达函数是属于哪个类或哪个实例等信息。
  3. 指向方块的线代表该函数的输入,背离方块的线代表函数的输出。
  4. 数据流动的时间轴遵守先从左到右,再从上到下的顺序。
  5. 每一对输入输出(输入在上,输出在下)加一个方块,表达了一次函数调用。

举例: 
比如下列代码:

画成图是这个样子的

然后从这张图里按照标 导出任务列表,如下:

然而这里有个问题,对于函数b函数c来说,输入输出倒是很正确,对于函数a来说,难道函数b函数c的返回值不是它的输入吗应的,函数b函数c的参数也是它的输出。

所以真正完善的IO是这样的

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年6月21日
下一篇 2017年6月21日

相关推荐