像机器一样思考读书笔记

像机器一样思考
(突然有点感触,怎么学一门语言?要先学好英语啊!略心塞)

(一)宏观基础

刚看到这篇的时候,我也思考了一下「 什么样的人适合作程序员 」,私以为有强迫症的人会是一个优秀的程序员。这篇文章上说:像机器一样思考的人。

那么问题来了。机器是什么?谁定义了机器的思考?
我们所有的计算机,都是「 冯诺依曼体系 」。
就是下面这张图(截张图来用)


说话的方式简单一点就是

你可以看到,我们好像只需要考虑三分地方输入 处理 输出,归结起来就两种数据 | 数据结构 指令 | 处理过程
(再插一句话,由于最近在看《算法导论》,想起我刚刚学过的《数据结构》,数据结构果然只是数据结构,算法却不只算法)

这篇文章中举了一个例子,来说明这种模型是如何使用。在这,借张图来用。


讲真,这样的思考方式真是简单粗暴又有效,体会过后,它带给我如下感受:

  • 明确输入类型 | 我要输入的是什么
  • 明确输出类型 | 要输出什么
  • 思维清晰,下笔如有神啊🙂

其实,我受益最深的是,明确输入类型。最起码,在我以前的编程过程中一直这样不明不白的过来着 :(

那为什么我们在思考的时候却不会这样的明确,至少我在编程的时候是不会这样的?
maybe,有以下一点原因:

  • 太想要快点做出来
  • 编程好难,所以一定要先做它
  • 好像没必要呢???!!!

编程其实是最简单的事,而其中流程是最重要的,我们往往认为编程好难啊!这种做法就好像分离了语言和流程,我们可以用任何语言来实现,但是流程是不会变的。

在「 题外话-2 」中,它提到了当数据复杂到一定程度时,数据和过程的界限会模糊,这就是函数式编程。看来要好好了解函数式编程了🙂

(二)数据的细节

看完这章,我觉得果然是我们创造了计算机,人类世界的抽象 -> 对于物体的表达

对于数据结构的设计,总感觉要尽量对应现实世界和简单化。

还有一句话,在题外话1里:「 在表现层你最后使用的数据的结构,尽量跟你的表现层的结构一致,这样出bug的几率最低 」,想想以前编程,太多BUG出现在这个环节,百分百出BUG啊,真是心塞。

总之,(一)是个模型,(二)就是针对数据的细节,讲真数据结构的设计确实很重要,而且决定流程的简单化。

(三)穷尽就是力量

「 穷尽 」你知道这个单词的意思么?我还真去百度了hhhh
《穷尽》是一个汉语词汇,基本意思是竭尽,极尽;终止,止境。(想不明白,为什么要带书名号)

看完这章,我就笑了,被以前的自己蠢哭了。

以前的姿势是这样的:
正在写一个函数,发现少了个参数,赶紧在函数头添加,而且有时候,发现添加了好多参数,并且不知道有的参数从哪里出来。。。

看完这章后,正确姿势应该是这样:?
先分析问题,心中大致分作几个步骤 → 列出输入输出 → 在反思一下修改 → 写下一个函数直到写完之后

这篇中主要介绍了「 穷尽 」,就是在列出输入 | 输出时要「 穷尽 」,把所有用到的数据,都要写出来,并且要明确来源和输出要明确目的。

感想:

  • 由于人的劣根行,讨厌麻烦,刚开始的时候,可能会讨厌,并且放弃,但其实这关注到你是否「 思维清晰 」。所以要严以律己,穷尽所有输入和输出。
  • 关于分步,初学者越小越好。

(四)一图抵千言

「 一图抵千言 」就是把上面的思维模式以图的方式呈现了,最大的好处感觉是:易于交流,方便你我。它很清晰的呈现了我们要写多少个函数,最主要的是函数与函数之间的关系,比如输入和接收
注意几点内容:

  • 画图时函数的顺序
  • 输入输出箭头指向的内容
其他

思维方式的转换,按照测试的角度切分task(其实,我是这样理解的:从结果的角度)→
从一个函数实现的视角转为一个函数调用的视角。
可能我对TDD用法不深刻,体会不到这句话

 跳出盒子外来看盒子的视角。我们在画前面的图的时候,实际上是在我们要实现的这个程序内在看,完全没有使用者的视角,也就是所谓的在盒子内,。当我们站在测试的视角看的时候,我们就跳出了盒子外,他更容易让我们发现哪里可能设计上有问题,比如设计出的接口是不是好用。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,183评论 6 516
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,850评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,766评论 0 361
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,854评论 1 299
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,871评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,457评论 1 311
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,999评论 3 422
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,914评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,465评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,543评论 3 342
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,675评论 1 353
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,354评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,029评论 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,514评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,616评论 1 274
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,091评论 3 378
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,685评论 2 360

推荐阅读更多精彩内容

  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,819评论 0 27
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,750评论 0 10
  • 生活被世俗填满 快精神折翼 日久生厌 是将就的结局 天光已暗 红绿灯路口 车过 车停 陌生人疾走 姿态像在游 ...
    哥伦比亚的倒影阅读 447评论 1 5
  • 就像看待半杯水,乐观和悲观的人感受不一样。 今天我突然想,我要努力做一个乐观的人,于是我就在屋里大声喊了好几次。蛮...
    一个人的变化阅读 186评论 3 1
  • 满门俊才的陈氏家族 《世说新语·宠礼》 陈元方遭父丧,哭泣哀恸,躯体骨立。其母愍之,窃以锦被蒙上。郭林宗吊而见之,...
    扬菁阅读 3,922评论 0 3