拆书 NO.17:《MacTalk · 人生元编程》

拆书 NO.17:《MacTalk · 人生元编程》_第1张图片
配图

本书简介:http://book.douban.com/subject/25826578/

拆书 NO.17:《MacTalk · 人生元编程》_第2张图片
《MacTalk · 人生元编程》


▏原文片段

俗话说「一心不能二用」,这句话常常送给那些做事三心二意的人,但是我们真的不能一心多用吗?或者说并发带给我们的到底是效率的提升还是状态的下降?关于这件事Mac君的看法是,不可一概而论。「好吧,那位同学请把砖头继续放入怀中,我们还没有讲完」。

关于人脑的多任务处理,应该从个人特点、所处环境和任务特性来考虑。

其实人脑天生就是用来处理多任务的,比如你可以一边洗澡一边唱歌,一边看电影一边嗑瓜子还要注意不要被飞来的砖头砸到等等,不过这样的多任务都是在放松环境下的简单任务,对我们提升效率没什么意义。

但是,当我们在健身房跑步时听英语,写文章或编码的时候听歌(所有不让听音乐编程的公司都将死于心碎),坐地铁的时候阅读,步行的时候思考,这就变得非常有意义的,因为我们在一个相对宽松的环境下把复杂的逻辑任务和简单的机械任务结合在一起,既不影响A,也不会干扰B,这种情况是我们优先要采取的并发策略。

类似的事情,比如开车时听英语,就要因人而异了。我有近10年的驾驶经验,喜欢开车,驾驶基本上已经形成下意识的动作,从出发到目的地往往不会记得自己做了哪些操作,所以我经常开车时听英语并有所收获。但有些人开车仅仅是驾驶已经够紧张忙乱了,倒一次车能车头入绝不车尾进,开次长途出的汗够洗澡的,那么就专心开车好了,车内最好保持安静或听一些舒缓的音乐。

我曾经看过一本叫做《错觉》的书,书中有一段描述了一位机长在飞机飞行的过程中发现机上设备出了点小故障,于是他和副机长一起排查,接着又找来机械师,哥三忙得不亦乐乎,过了一段时间,有人问,谁在开飞机呢?这时飞机无人驾驶已经很久了,等反应过来之后,飞机已经开始俯冲坠地,机上人员全部罹难!这种空难并不是意外,一架状况良好的飞机直接撞向地面不是偶尔发生,这种现象在航空领域被称作「可控飞行撞地」,其根本原因就是,人们太相信自己的多任务处理能力!

驾车虽然比驾驶飞机简单多了,但同样是一项非常危险的工作,所以我建议大家,听听音乐就好,另外千万别玩手机。

还有一种情况就是,在同一时间做两项或多项复杂任务,比如你让程序员在编码的同时帮助别人解决问题,能不能做好?也许有人可以,但我的感觉是,这种安排效率反而会打折扣。人们在很多时候会低估自己的能力,但在更多时候会高估自己。在复杂任务并发处理的时候,人脑往往会高估自己的处理能力,以为可以,其实任务的并行,上下文的切换,注意力的分散,都会让你的效率大打折扣,所以设计模式中的职责单一原则不是盖的,一个类尽可能只做一件事情,无论是效率还是后期维护都会好很多,人脑其实也是一样。 


▏原文概述

(直接借用原文描述)

1. 简单任务的并发是大脑天生的nature,每个人都在不自觉的应用。

2. 在宽松的环境中让简单机械的任务和复杂有机的任务并行完成是非常不错的做法,提高效率节省时间。

3. 在高危环境中(驾驶、高空作业等等)我们应该专心致志的只做当前的工作。

4. 对于复杂任务,我们最好一件一件完成,即使有些人能够同时处理多重任务,那也需要长期的艰苦训练,比如郭靖君,你能否做到,就得看有没有周伯通那样的大哥!


▏联系经验

第1点和第3点不说,没经验。

先说第2点。我从来没有想过原来简单的机械任务可以和复杂的逻辑任务放在一起做(或者说自己没有明确心里告知自己:这种模式是可以经常性实施的),而且确实是不冲突的,比如自己会坐地铁的时候看书,坐地铁就是机械的简单任务,看书就是复杂的逻辑任务,再比如我会边看《非诚勿扰》边泡脚,看《非诚勿扰》就是复杂的逻辑任务(因为我不仅仅把它当做娱乐,我也会去分析每个人说的话,进行性格分析和是否能成功牵手的判断),泡脚就是简单的逻辑任务。

现在来说第4点。确实,对于特别复杂的任务,不适合并发进行,比如我自己在做PPT的时候,就不适合听音乐了,不然很容易思维被牵引过去,做PPT需要左右脑共同合作高速运转,而且要运转好几次,因为要不停地修改,好的作品都是改出来的。


▏拆为己用

其实这也是时间管理的一种方法,之后会利用好时间,分清楚什么是非常复杂的逻辑任务,什么是一般的逻辑任务,什么是机械的任务。比如以后跑步的时候可以戴上耳机或是听书或者听音乐(当然我会注意安全啦),转移注意力,让跑步不那么难受。还有,比如写这篇读书笔记,就算是很复杂的逻辑任务了(对我来说,挺复杂的),因为需要构思,需要排版,需要保证易读性等等,所以以后也不会在写文章的时候干其他事情,专心一点。

你可能感兴趣的:(拆书 NO.17:《MacTalk · 人生元编程》)