如何让编程思维保持活化?

读《程序员的思维修炼》
服务器君一共花费了155.880 ms进行了4次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

最近读了一下《程序员的思维修炼》,涉及了一个词:元学习。所谓「元学习」就是“学习如何学习”。这种能力很重要,学会学习不光在编程里有用,掌握了这种能力后在其他领域也可以如鱼得水。

不知道大家有没有这样的经历,就是一个人宅在家里一整天,到了晚上遇到人开口说话都有点不畅,结巴。有时候明明想表达一个意思却不知道用什么词,但谈起技术和写起代码来还是很熟练。这就是“用则进,不用则退”。增加感官体验,可以促进大脑的使用。

对于程序员来说 ,技术方面的精进尤为重要,不论是你是热爱程序的程序员还是只是靠他吃碗饭的上班人员。

而技术的精进离不开两个方面:一个是经验的积累;一个是清晰的思维。

经验的积累其实就是不断的尝试、学习、理解、掌握新事物,同时不断对新事物的掌握又能有效的锻炼大脑,因此对于新东西的学习是必不可少的,这也是为啥会在网上流传这么一句话——“优秀的程序员应该每年都学一门新语言”的原因。这只是说对新事物的学习,那么如何发现新的事物/技术呢?

无论你是学生还是上班族,一定都有这样的经历,新到一个学校、教室、公司,你都觉得新鲜不已,大脑中的兴奋神经异常活跃,觉得有很多新的东西需要学习掌握,但过不了多久,当你熟悉了身边的一切,熟悉了你们在做的事,并且你也能像你刚来的时候想的一样和他们一起合作的时候,大脑中的兴奋神经(如果真有这玩意的话)已经冷淡,它对周围的环境产生了一种惯性:天天如此,重复这些事。对于大多数人而言此时你的大脑已经像是处在小黑屋里了,迟钝和僵化只是时间问题。这多数针对上班族而言,对于学生党会好一些,充裕的时间可以拿出一些来做不循规蹈矩的事情。

在这样的情况下,最重要的事其实是要意识到,你的大脑被关小黑屋了,你应该做些什么了。这样就得说到积极主动的事了,积极主动是个好习惯。虽然有时会碰钉子,但是结果总是好的。对于技术人员来说,思维的积极主动要重要于腿勤脚勤或者嘴勤。

「不作为」是敌人,「错误」不是。

一个熟悉的场景:某小白在写Django项目,运行后始终无法访问页面,小白很是捉急,请来大神,大神看了一眼程序之后,沉思片刻说,你丫是不是没有配ALLOWED_HOSTS,遂,问题解决。你知道在大神沉思的时间里发生了什么吗?你的代码已经在他的大脑里执行了一遍并且做了各种异常可能的分析。 好吧,这是个蹩脚的比喻,重点不在大神,在于想告诉新手如果遇到bug你一定要兴奋,不要随便把解决bug的机会让给了别人,这样才能更加聪明。

当你努力解决一个问题时,你的所有记忆都会被扫描——甚至那些你无法主动唤醒的记忆。

在解决Bug的过程中,大脑是异常活跃的。大脑会将各神经元连通起来,你的经验、知识都会被调到起来去解决这个问题,实质上就是复习了一遍,这就是积极的好处。另外一个方面就是挖掘已有项目中的新事物。你一个在为一个已经在线上运行的项目添砖加瓦,是不是觉得好像你已经了解了这个项目了呢?其实差远了,一个能成功运行的项目(我说的是线上),在稳定前必定有很多崎岖凹凸的路要趟,这些东西才是线上系统稳定的重点。多想几个为什么,这是小孩都知道的事,但往往习以为常的事却是从不会被想起的,如何破?让自己意识到,然后行动起来。

视角的变化会让你始终处于一个新鲜的状态,让你的脑细胞不至于死的比新生的快。

下面再摘录书里一些经典的话语:

  • 培养幽默感,以建立更强大的隐喻。
  • 两个想法相距越远,越难以通过有效的隐喻联系起来。但我们遇到一个格外具有创造性的隐喻,且两参照系距离适中,我们就不得不几百年来一直歌颂这位作者。
  • 增加感官体验,以促进大脑的使用。
  • 直觉和模式匹配能力超越了显性知识。
  • 你的价值取决于你为团队带来的价值。
  • 大脑不是软件,软件不会老化,不会退化。但是大脑必须刷新,必须使用,否则就会丢失记忆。
  • R型在存储输入方面非常卖力,事实上可能你的每次经历,无论多么平淡乏味,都会被存储。但是它不一定被索引。当你努力解决一个问题时,R型进程会搜索你的所有记忆以寻找解决方案。
  • L型处理语言、分析、符号、抽象、时间、推理、数字、逻辑、现象思维。
  • R型处理直觉、综合、想象。
  • 积极的情感对学习和创造性思维非常关键。当你充满了消极情绪时,你的大脑就开始停止提供多余的资源。
  • 美学可以改变这些,不论是用户界面、代码和注释的布局,还是变量名的选择或桌面的整理。
  • 当你努力解决一个问题时,你的所有记忆都会被扫描——甚至那些你无法主动唤醒的记忆。
  • 养成一种收集思维鹅卵石的习惯,一旦有了积累,造墙的过程就会很容易。
  • 你是否注意到伟大的想法或者领悟可能会在最出乎意料的时候降临?比如洗澡、刷盘子或其他一些枯燥、琐碎的工作时。这是因为L型有点厌倦了这种常规任务,走了神,这才让R型得以自由地展示自己地发现。
  • 改变解决问题的角度(角色扮演)。
  • 培养快速的洞察力,寻找不相关事物之间的关系或类比。
  • 大脑不是一个用于填充的容器,而是一束需要点燃的火焰。这不是别人可以帮你做的,而是一件你必须自己做的事情。
  • 建立SMART任务实现你的目标。
  • 所有的知识投资都有价值。即使你从来不会在工作中使用某项技术,它也会影响你思考和解决问题的方式。
  • 考虑投资的回报率。
  • 当你种菜时,如果菜长的不好,你不会怪责菜,你会寻找其他理由。菜可能需要更多的肥料或者水,或者少晒太阳,你决不会怪责菜。
  • SQ3R主动学习法(Survy, Question, Read, Recite, Review)。
  • 使用思维导图做笔记。
  • 以教代学(橡皮鸭调试法),向你所在领域之外的人解释。
  • 把事物分成大脑足以容纳的几部分。
  • L型模式的CPU有一种「空闲循环」程序,如果没有更紧迫的事情值得你去注意,闲置程序将会停留在一些低等级的困扰或紧急的问题上,而这会干扰R型的处理。
  • 大部分冥想、瑜伽以及类似的练习都是为了这个相同的目标:缓和大脑里L型嘈杂的声音所带来的痛苦,生活在此刻,不要将你的精力不必要的分散,因为内心中喋喋不休的事情会击倒我们。
  • 使用wiki来管理信息和知识。
  • 「不作为」是敌人,「错误」不是。
  • 给新习惯适应的时间。
  • 制定一段时间计划,然后努力实现。跟踪你的进度,当你感觉做得不够时,重新审视你的成果。
  • 信念是真实的,你必须相信这种改变是可能的。
  • 采取步步为营的细小步骤。
  • 新手的大脑有很多可能性,但是专家的却很少。
  • 抓住方向盘,不要自动驾驶。

本文地址:http://www.nowamagic.net/librarys/veda/detail/2548,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/2548

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《人月神话》 弗雷德里克·布鲁克斯 (作者), 汪颖 (译者)

《人月神话》原文:The Mythical Man-Month: The Essays on Software Engineering, 2nd ed.在软件领域,很少能有像《人月神话》一样具有深远影响力并且畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见解。既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司System/360家族和OS/360中的项目管理经验。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄中等多种语言,全球销量数百万册。确立了其在行业内的经典地位。

更多计算机宝库...