欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何提高思维能力(不止针对程序猿)

程序员文章站 2022-03-10 12:33:00
...

最近公司有小伙伴向我反馈,说自己好像跟不上,感觉拖后腿了。希望我能够帮忙指点下迷津。他的问题是主管交给他的任务,他都能理解。但是就是自己动手写程序的时候,发现很多问题解决不了,很慢。
针对他这种情况,我指出了他的可能存在的一些问题。其中比较主要的一点,是思维能力还比较欠缺。当然思维能力是一个宽泛的概念,具体到某个行业,它的要求会不一样。但是,基本的规律还是有些通用的地方。

基础知识是思维能力的基础

不管如何,工作中涉及到的基本知识,是思维能力不可缺少的远程来。基础掌握的扎实程度,会影响到你的思考能力。这个基础知识包括基本的技术知识,一些开发经验。如果是项目,也包括对于项目需求的理解程度。
这些没有捷径,只能靠自己多学习。学习学习在学习。 不要幻想自己有天赋,不用学,不存在的。

养成多思考的习惯

所谓学而不思则罔,思而不学则殆。平时在工作中,需要养成多思考的习惯。而且要多多深入的思考,在工作、编程的过程中,对于需求、代码的简单架构、相关的技术做更多的思考。思考很多时候,是让人感觉没有成就的事情,相比之下写几行代码,更让人觉得有成效。但是,养成多思考的习惯,对于解决问题的能力有长足的推进作用。
另外在学习知识技能的时候,也需要多思考。不要知其然不知其所以然。最好的方式是多问几个为什么,并主动践行。慵懒的浅层面的学习没有任何价值。

复盘与反思

围棋大师们,都有复盘的习惯。就是在和人对弈的之后,不管输赢,都会把对弈的过程重新复演一遍,并思考总结哪些地方做的好,哪些地方做的不好,应该如何改进。复盘是一个很好的锻炼思维能力的方式。对于程序员来说,你可以把自己成功完成的代码进行复盘,思考哪些地方做的好哪些地方可以改进,都是一个很好的锻炼方式。而另外一种复盘,就是读别人代码,思考别人的思路。 特别重要的是,一个问题,如果你不知道如何解决;而你的主管或者其他同事解决了,这是你一个极好的锻炼思维的机会。你应该好好的复盘一下他人的解决方案,为什么用这种解决方案,技术支撑是啥。不仅仅要学习解决方案的本身,还要思考为什么自己没有思考到,而人家思考到了,自己需要如何改进自己的思考方式才能思考到,人家用了什么样的思考方式和思考方法,是我没有的,这些都值得好好总结下。
复盘的过程,其实就是反思的过程,没有反思就没有进步。
比如,有时候给小伙伴指导一些问题的时候,我会自己亲自上去在小伙伴的工位上写代码。在这个过程中,我就会把解决问题的思路,以及我是如何思考,如何调试、如何查找资料的思路告诉对方,并最终写出解决方案的代码。但是,最终我都会删除我自己写的代码。其实这个时候,我就是给小伙伴一个复盘的机会,好好思考下。

解决问题前先整理思路,分解问题

在遇到实际的问题的时候,可以先思考。而不是先动手。比如可以用思维导图(或者你喜欢的工具,文档也可以,用笔在纸上画也可以)先把思路整理出来。 庖丁解牛,把一个问题分解成很多个问题。这个过程,本身也会帮助你思考。同时,在你把思路整理清晰之后,做的东西也就比较清晰了。 比如我写代码的习惯,就是先把相关的类写好,然后把类里面的相关函数写好。然后就是开始一个一个的填写了。其实类和函数的整理,也是一种思路的整理。当你有了这种好的思路之后,你也方便和其他人交流和请教问题。这种情况下,你也很明白自己什么地方不懂,也方便别人了解你哪些地方不懂。

进行一些思维的练习

在网上会有一些思维训练的问题。可以自己多尝试练习。其中发散思维、逻辑思维和想象力是需要重点训练的。发散思维可以培养你的思维的开阔度,在遇到问题的时候,可以想到更多的方法。而逻辑思维可以增加你的判断力。

多读书

多读书刻意开阔自己的视野,并间接影响自己的思维能力。

写笔记

所谓 好记性不如烂笔头。我一直强调,要自己多总结,多写点笔记,记录下自己的一些训练,思考的东西。 这个记录的过程,也是整理你自己思路的过程。多写写,不会有坏处。

分享和讨论

同时,还可以把自己写的笔记分享出来,可以找人多讨论交流,碰撞思路。吸收更多人的想法和思维。

总结自己的方法体系

说说我学数学的经历。我小学,初中,高中,数学都是我的最好的一门学科。为什么特别好,就是自己对此很有兴趣。前面说到的一些方面:

  • 比如深入思考,我会对于一个问题寻找多个解方法,并看这个问题是否可以引申,扩展,并寻找规律。 比如高中的时候我就发现了海伦公式的引申:圆内接四边形的求和公式和海伦公式及其类似。另外我还发现任意奇数阶幻方的快速填写规律。还有就是完全数的一个数学规律,具体啥规律我其实忘记了,当时的笔记本也丢了。(完全数是啥?完全数,又称完美数或完备数,是一些特殊的自然数:它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身,比如6 = 3 + 2 + 1,28 = 14 + 7 + 4 + 2 + 1)。 另外,我自己把所有的三角形函数公式全部自己推导了一遍,而不是死记硬背。等等
    当然我当时的性格属于比较封闭,这些东西并没有发表。 不然我想怎么着也可以上一个中学生数理化的杂志吧。
  • 比如复盘,如果一道题我没有做出来,老师给了答案,我就一定要把这道题的解答想清楚。不只是想清楚这道题本身的解答方案,因为以我当时的数学能力,老师一提点,我基本就想清楚了解答方案。但是,我思考的是,为什么我没有想到,我欠缺了哪些东西,基础知识,还是思维角度等等。如果是思维角度的问题,我就会丰富自己的思维角度。
  • 比如说总结归纳以及发散思维,其实在深入思考的部分,本身也是一个总结的过程,还涉及到就是把思考的东西笔记记录下来。另外也涉及到发散思维,因为没有发散,就没有延伸和规律的发现。

说这个,不是显得自己多厉害。其实主要是自己有兴趣去做这样的事情,自然就能够达到不错的效果。我不是有什么天赋,也算不上特别聪明。只是喜欢锻炼自己的思维能力。而在这个数学的学习过程中,我锻炼了自己的归纳,抽象,发散等等各方面的思维能力。
而且也形成了一套自己的方法体系:
比如数学归纳法,边界判断法,排除法,见微知著法,枚举法,差异法等等。
这些方法都是自己在不断学习 锤炼数学思维过程中总结出来的。可能现在想想那个时候学的数学,好像没有多少用。但是这种思维能力其实一直到现在对我都还有帮助。当然,当时数学学习锻炼的思维能力和总结的方法体系,对于我学习其他课程,也起到了积极作用。
解决问题的方法体系,其实是很有作用的。比如归纳法。我记得中学的时候一个同学有了一个诺基亚的手机,当时手机里面有一个游戏(现在知道:其实就是汉诺塔,但是当时是不知道的,具体细节不解释了,不知道的自己去搜索吧)。很多同学都玩不出来,我看了一下,几分钟完成了。其实并不是我多聪明,而正是运用了数学归纳法。另外一道题,我在大学刚毕业的时候,在武汉找工作,看到了一份医院杂志,全部都是 X科 和Y科的广告(你懂的)。最后一页,有一些智力题,其中一道题是这样的,我当时也是运用归纳法秒解出来。

有个岛上住着一群人,有一天来了个游客,定了一条奇怪的规矩:所有蓝眼睛的人都必须尽快离开这个岛。每晚8点会有一个航班离岛。每个人都看得见别人眼睛的颜色,但不知道自己的(别人也不可以告知)。此外,他们不知道岛上到底有多少人是蓝眼睛的,只知道至少有一个人的眼睛是蓝色的。所有蓝眼睛的人要花几天才能离开这个岛?假定所有人都很聪明,并且每个人都知道别人很聪明。

嘘,到公司面试过的人都知道,这是一道面试题。

所以,在工作过程中,如果你发现自己的思维能力不够,就需要运用各种方法来锤炼自己的思维,并总结自己的解决问题的方法体系,不断积累丰富自己解决问题的方法体系,当然有的人并没有刻意的总结,但是他们其实在不自觉间总结了,自己不知道而已。

最后还的说坚持。

提高思维能力这种事情,需要刻意练习,也是一个长期的过程。 但凡需要刻意练习的事情,一般都比较枯燥。就像跑步健身一样,谁都知道跑步有益身心健康,能坚持下来的没几个。由于是一个长期的过程,所以也并不能再短期获得好的成效,所以往往难坚持下去。
这其实和人脑喜欢及时回馈有关系。人脑喜欢让自己快乐的东西,不喜欢让自己痛苦的东西。而付出脑力和体力都不是人脑的喜欢。但是如果一定要付出,那么人脑喜欢及时回馈的东西。这其实是人的动物属性。就比如马戏团的猴子,完成动作后,就会马上有奖励。所以它总是愿意去做哪些动作。人在这方面其实不必动物高级多少。很多人终其一生也无法摆脱及时回馈的诱惑。
曾经看了一本书,书中讲了一个故事, 一些古巴比伦的一些人,哪怕最终会沦为奴隶,也要借债消费。其实就是一个短期诱惑战神长期痛苦的例子。
如何改变。方法就是改变自己的信仰,大脑认为什么是痛苦的,什么是快乐的,其实很大程度决定于你的信仰。
那么应该有什么样的信仰。 对于坚持这件事,虽然你暂时看不到成效,但是要相信老天在偷偷的给你积分。正所谓:
坚持的人,如春园之草,不见其长,但日有所增;懈怠之人,如磨刀之石,不见其损,日有所亏。
更多精彩内容,请关注公众号。

 

如何提高思维能力(不止针对程序猿)
            
    
    博客分类: 思维能力 工作读书思维 
ITman彪叔公众号