写点什么

一个正确的编程思维

发布于: 2021 年 01 月 08 日

在我们十几年的求学生涯中,关于知识的获取基本上都在执行以下步骤:学习课本上给的教程案例,练习课后的配套习题,如此反复,直到通过考试。


自然而然的,很多人会把这种学习方式映射到编程上:学习基础语法,练习几个小的教学案例,如此反复,直到认为学会编程。


长此以往,很多人都会陷入一个瓶颈:自己的编程水平似乎到达上限。造成这个结果的原因之一在于他们用学生思维的方式学编程,而不是用开发者的思维学编程,也就是说这种学生思维应用到编程学习会极大的束缚程序员的提升


那怎么样才是程序员该有的编程思维呢?


在我看来,费曼学习法是程序员提升编程能力必须掌握的一个思维。


什么是费曼学习法呢?


简单来说就是以教促学,每当你认为学会或者掌握一个知识后,去给别人讲明白,通过这种方式对自己做一个检验。


为什么提升编程能力需要掌握费曼学习法呢?


李笑来曾经分享过一个观点,他说教育主要分为 3 个环节——


  • 1、 教:我们最常做的读书、学习、听课等


  • 2、 练:就是练习,大量练习,重复练习


  • 3、 教练:在练习过程中遇到问题,教练帮忙指出来,然后继续练。


1、2 不断循环,直到把知识、技能练熟,能用到实践中,帮自己做成一些事情,创造价值。


以此作为参考,编程的学习也是可以分为 3 个环节---


1、学:就是学习模仿优秀的项目,阅读优秀的源码

2、练:就是练习,找 demo、小型项目、开源项目,大量重复的敲代码

3、教:就是教练,通过写教程或者视频的方式给其他人讲明白一个项目

1、2 两点属于被动学习,吸收效率在 10% 至 30% 之间,而 3 属于主动学习,也就是费曼学习,吸收效率高达 90% 。


也就是说,我们在学习编程的过程中,为了提高学习效率,可以主动的去写技术博客分享,注意是写技术博客而非技术笔记,笔记是给自己看的,博客是给别人看的,在这个过程中,表面上你是在教会别人,事实上你通过教会别人的方式来逼自己查缺补漏,你可能以为你懂了,结果发现无法表达出来,事实上还是没有理解透彻;你以为你讲明白了,别人一问,发现还是有遗漏点。


以我个人为例,我的算法水平是什么时候开始突飞猛进的呢?


答案就是这两年我写了一些算法分享的文章,并且是通过动画这种费力的方式希望能让小白都看懂,在这个过程中,我很容易发现,如果我自己没有深刻理解题目,即使一刷可以 AC,隔段时间也是会出现一脸懵逼的情况。


不同的思维方式,会导致不同的行为模式,进而影响最终的结果


希望今天的这个分享能对你有所启发。


发布于: 2021 年 01 月 08 日阅读数: 22
用户头像

公众号:程序员吴师兄 2018.11.03 加入

从初学者的角度学习算法,以动画的形式呈现解题的思路。 每天早上五分钟,碎片时间学起来

评论

发布
暂无评论
一个正确的编程思维