《程序员的思维修炼》读书笔记

从新手到专家

what

  • 新手需要指令清单;
  • 高级新手不需要全局思维;
  • 胜任者能够解决问题;
  • 精通者能够自我纠正;
  • 专家凭直觉工作。

why

局部 ==> 整体。
专家倾向于使用直觉提出方案和解决问题。

how

摒弃「我只是执行命令」的想法,承担起一定的责任;
保持实践,编程专家必须持续编程。

认识你的大脑

大脑CPU的两种处理模式:L型和R型。

我们需要更多地使用R型。R型的类比和整体思考方式对软件架构和设计非常有价值,好的设计就是由这些组成的。

当我们集中注意力去解决问题的时候,L 型思维独占的问题就更为严重,以至于在面对艰难的、无前例可循的问题时,耗费大量的时间往往也无法解决。而灵感通常是在某个瞬间突然出现,且转瞬即逝,这就意味着我们需要时刻准备记录这些极具价值的 R 型思维产物,并及时地实践它。

正确使用大脑(利用右脑)

  • 涂、写、划、画
  • 醉酒写作,酒醒修改
  • 完美主义妨碍你创建较差的草稿初案

调试你的大脑(了解思考中的缺陷)

  1. 思维定势:先前的见闻会影响到我们之后的决定。
  2. 基本归因错误:我们倾向于把别人的行为归因于他们的个性,而不考虑行为发生时的情形。
  3. 自私的偏见:乐于接受成功的分赏,却拒绝承担失败的责任。
  4. 需要定论:对疑惑和不确定性感到格外的不舒服。强行指定「项目截止时间」、「项目细节方案」等本就难以全部确定的事情。与其说这是一种严谨,不如说是一种逃避和自我掩饰。
  5. 认可偏见:依据自己的成见和喜好来选择相应的事实。
  6. 曝光效应:我们往往只因为非常熟悉某些事物而对它有所偏爱,即使这些「熟悉的事物」已经不再好用。
  7. 霍桑效应:人们知道自己正被审视时,往往会改变自己的行为,但这并不能成为常态。
  8. 虚假记忆:大脑可能会混淆想象、暗示、以及真实发生的事。
  9. 括号简约谬论:在使用符号代表一个复杂系统时,可能会丢失必要的细节。
  10. 名词谬论:以为使用标签或符号进行抽象就可以完全了解事物。

主动学习

目标明确(SMART)

  • S 具体的
  • M 可度量的
  • A 可实现的
  • R 相关的
  • T 时间可控的

主动阅读

  • 调查(Survey):扫描目录和每章总结,得出总体看法;
  • 问题(Question):记录所有问题;
  • 阅读(Read):阅读全部内容;
  • 复述(Recite):总结,做笔记,并用自己的话进行描述;
  • 回顾(Review):重读,扩展笔记,进行讨论;

使用思维导图
重视文档
以教代学
付诸实践

积累经验

通过实践的方法学习,效果最好。积累经验是学习和成长的关键,积累经验就是使得每次实践都有意义。

正确对待实践中的失败:“我不知道”是一个好答案,但不要就此止步。

在采取纠正行动之前完全知道“这是什么”对于调试非常重要。太多程序员(包括我自己)往往在没有完全明白真正的错误是什么之前就着急修正它。匆忙地作出判断或者过早地进行修补。你需要首先完全明白系统的原理,然后再判断哪部分错了,最后提供解决方案。

控制注意力

过多的信息导致了知识和注意力的匮乏,很容易失去思考的重心。与其不加条件的接受各种信息,不如主动管理思维和注意力。过滤掉身边大量的无用信息,才能够持续专注和提升。

积极地管理干扰。

超越专家

真正的发现之旅不在于追求新大陆,而在于拥有新的视野。新手的大脑有很多可能性,但是专家心里只有很少了。超越专家,就是要追求空杯心态,不忘初心。

posted on 2018-10-15 10:19  dawnxuuu  阅读(323)  评论(0编辑  收藏  举报

导航