02 Oct 2014
程序员的思维修炼(笔记)
程序员的思维修炼
- 作者: Andy Hunt
- 出版社: 人民邮电出版社
- 出版年: 2010
- 译者: 崔康
- 豆瓣: 程序员的思维修炼
切忌随波逐流。 “Only dead fish go with the flow.”
- 需要一个明确定义的任务。
- 任务需要有适当难度——有挑战性但可行。
- 任务环境可以提供大量反馈,以便于你采取行动。
- 提供重复犯错和纠正错误的机会。”
“代码,一次编写,多次阅读。 Code is write-once, read-many.”
- 坚持晨写至少两周。
- 培养快速的洞察能力。寻找不相关事物之间的关系或类比。
- 面对难题时引入更多感观。哪些对你而言最有效果?
- 阅读一些有别于平常的东西,比如小说,但不是科幻小说,等等。
- 尝试不同类型的电影、假期、音乐或者咖啡。
- 点一些你喜欢的餐馆里从未吃过的菜。
- 逆向思维。你会看到什么?”
- 使用乐高积木或者办公用品做一种设计〔44〕。
- 学习一门有更多R型思考方式参与的课程或者培养一种类似的兴趣,并天天坚持。
- 使用双人行机制,让同伴激励你,讨论你的进展。
- 想想能否用一个隐喻或者一套隐喻来大致描述你当前的项目(用某种有形的东西来思考将会更有帮助)。尝试使用隐喻或者夸张的手法来说一些笑话。
- 观察你认识的专家。有什么“奇怪”的习惯现在让你觉得更能理解?
- 什么单词可以加到你的工作词汇中?”
- “禅宗心印”
- 主动改变清晨事项的常规顺序或者其他一贯的做法。
- “心印是指在佛教禅宗中,以似是而非的形式出的谜语,能帮助思索,同时也是获得直觉性知识的一种手段。——编者注”
- 直觉是伟大的,除了当它不伟大的时候。
- 我们不是理智的生物。
- We are not rational creatures.
- 尊重不同人的不同性格。
- 当你想与人争辩时,请想一想这点。
“只是看到一个数字就会影响你随后对数字的预测和决定。举例来说,如果我不断地提到有100本书等待出售,那么我就向你灌输了一个数字。现在我卖给你一本书85美元,你就会停留在刚才的数字100上,而85听起来就好像很便宜。”
- “极其不可能的巧合事件其实每天都在发生。”
- “在你出生时,世界上的任何事情都是平凡的,都是世界运转的天然组成部分。当你在十五岁到三十五岁之间时,世界上创造出的任何事物都是新鲜的、令人振奋的、革命性的,你可能以此为职业。三十五岁之后创造出的任何事物都是有悖于事物的自然顺序的。”
- “为了实现你的愿望——在职业生涯和个人生活中学习和成长,你需要设定一些目标。但是目标本身并不能保证你成功。 目标是很美好的事情,你可能会有许多目标:减肥、找到一个更好的工作、搬进一个更大的房子(或者更小的房子)、写本小说、学习演奏电吉他、编写一个超级Rails应用程序或者完全掌握Erlang。”
制定具体计划 制定计划就是巨大的进步。计划要具体,要运用SMART目标理念,要为不同时间段设计不同层次的目标。例如:
- 现在(你下一步的行动)
- 明年的目标
- 五年后的目标
- 写下现在、短期和长期的具体目标。
- 增加两个新的学习领域,让你的知识投资变得多样化。
- 每周设定时间来实施知识投资。
- 设置提醒,让自己定期、阶段性地重新评估投资计划。哪些发生了改变,哪些已没有意义,现在你要做什么?”
“首先,一个目标任务应该是具体的。也就是说,只说“我想学习Erlang”是不够的。应该把事情具体化,例如“我想要用Erlang编写一个可以动态生成内容的Web服务器”。”
“知识投资也是一样。你需要定期投资最低限度的时间量。养成一种习惯,如果需要的话。躲到你的家庭办公室里去或者走进有无线网络的咖啡厅。并非每期学习都同样富有成效,但是只要定期安排学习,长期来看一定会成功。如果你一直在等待空闲时间或者等待灵感的突现,那么它永远都不会发生。”
- 增强注意力
- 管理你的知识
- 优化当前情境
- 寻找一个安静的地方,摆脱干扰或中断。这个可能是最难的一步。
- 舒适、清醒地坐着,挺直背。让你的身体放松下来,就像一个玩具娃娃。花点时间感受体内的任何紧张情绪,将其释放。
- 闭上眼睛,将注意力集中在呼吸——空气进入和离开你身体的这一点上。
- 注意呼吸节奏,吸气的长短和质量,吸气后屏气的短暂间歇,呼气的质量,呼气后屏气的短暂间歇。不要试图去改变它,只是感受。
- 将思维集中于呼吸。不要说话。不要描述你的呼吸或其他任何想法。不要与自己交谈。这是另一个困难的部分。
- 你可能会发现自己在思考一些问题或在与自己交谈。每当你注意力游荡开去,就要抛弃这些想法,轻轻将注意力回到呼吸上。
- 即使你的思维经常游荡,这个[…]”
- 定期做冥想。开始时,每天选取几个容易想起的时刻进行三次深度放松的“冥想”呼吸练习,例如,在起床时,在午餐、晚餐时,或参加会议之前。
- 最好在每天的同一时刻,尝试持续20分钟的冥想练习。你能够开始平静内心的想法了吗?”
“不是每天都是富有成效的一天。如果事件变得混乱,接受事实并意识到你不会进入最佳状态,这样可能会更有效。首先处理紧息状况,然后在办公室享受比萨饼,并期望有一个更美好的明天。”
“采取步步为营的细小步骤 开始时目标设低一些。当你实现时奖励自己一下,再设立下一个小步骤。一步一个脚印,脑子里记住你的最终目标,但不要试图把所有步骤都想明白。只关注下一步,一旦你到达这一步,再继续为实现下一个目标而努力。”
- 开始承担责任,不要害怕问“为什么”,也不要害怕问“你怎么知道的”或者“我怎么知道的”,同样要大方地回答“我目前还不知道”。
- 挑两件帮助你维持情境、免受干扰的事情,立即实施。
- 创建一个实用投资计划,设定SMART目标。
- 弄清楚你在所属专业领域中所处的位置(从新手到专家)和你期望的位置。保证诚实。你需要更多的诀窍还是更多的情境?更多规则还是更多直觉?
- 实践。某段代码遇到问题了吗?尝试用五种不同的方式编写。
- 允许犯更多错误——错误是许可的,要从中学习教训。”
- 携带一个笔记本(最好不带横线)。涂鸦,做思维导图,记笔记。让你的思想自由地流动。
- 打开心扉接收美感和其他的感官输入。不论是你的房间、桌面还是代码,关注它们是多么地赏心悦目。
- 开始在私人wiki上记录你感兴趣的事情。
- 开始写博客。为你读过的书写评论〔2〕。阅读更多书,你会有更多可写的东西。使用SQ3R和思维导图。
- 让散步成为你每天生活的一部分。
- 启动一个读书小组。
- 再拿一个显示器,开始使用虚拟桌面。
- 回顾每章的“实践单元”,尝试去做。”