本文作者Easy,程序员中的网红
如果你是一个混迹微博的IT爱好者的话,可能对下面这个头像有印象。
[图片上传失败...(image-a8719-1530148172350)]
没错,这就是Easy!
从2003年写下第一行PHP代码开始,编程就成为了他生活的日常。而他的人生履历,也与编程紧密切合。
2004年,他入职新浪,负责WAP发布平台,日访问量2亿;
后来,他成为了新浪云资深产品架构师,平台访问量8亿+;
Easy出版的《程序员跳槽全攻略》,为程序员跳槽提供了方法论和工具,全网累计分发量超过8万;
现在,他是一位独立开发者,同时也为想要入行编程的小伙伴提供帮助。
[图片上传失败...(image-3931f6-1530148172350)]
接下来,让我们看看今天Easy到底想分享给我们什么方法来学习编程呢?
01
自从业以来,我就不停地被问到类似「编程到底难不难呀,我能不能学会呀?」这样的问题。
要是以前你问我这个问题,我肯定会回答,一点都不难。你如果去问十年以上的老程序员们,估计答案都差不多。
但是去年我开始系统化的梳理 Web 全栈相关的知识点以后,发现现在学习编程,和我们那个年代学习编程,已经完全不一样了。
以 Web 为例来说明吧。
作为和互联网一起成长起来的一批程序员,我们最开始接触的 Web 是非常简单的,最开始只有HTML 、然后才有了 CSS 、再之后 Ajax 才兴起。
我们都是先学会了核心,再一点一点的去学新增的内容,所以我们一点都不觉得难。
但今天,用户对网页的要求越来越高,整个 Web 开发的知识累积量也已经非常庞大。
众多陌生的知识一拥而上,很容易让人不知所措,甚至心生恐惧。想想以前我们用一个长假可以把 HTML 学一遍,还能做几个小表单;
现在可能连 WebPack 语法都还没看完,这要何时才是个头呢。
所以我觉得,如果方法不对的话,编程可能是挺难的。
[图片上传失败...(image-2726cc-1530148172350)]
02
那么什么样的方法才是管用呢?
先来听我讲讲一个朋友的故事。在那个国庆节之前,编程曾经是他认为不可能学会的事,而在那个国庆节之后,编程成为了他最擅长的事。
严格的说呢,这位朋友并不算一个好学生。进入大学后便迷上了CS,大三因为挂科太多被学校劝退了。
这下他清醒了,这样下去不行,但学校已经回不去了,于是报了个培训班学编程求生。
天天学天天练,学了三个月,但都没入门。也不是不会,是只有老师教过的才会,和教的只要一点不一样,就立马不会了。
不久后,他在火车上遇到一位大厂的程序员,闲着没事,两人就一起聊编程。聊了不到一个小时,就豁然开朗了。
我问他怎么就开朗了,能不能说具体点,他说,原来脑子里虽然装满了知识,但也就是那么放在那里,每个知识都一样。
但当明白了 Web 开发到底是在做什么以后,这些知识就有了权重、有了优先级、有了结构和位置。
脑子就像有一根绳,将这些知识分门别类的串了起来。哪些知识干什么用,变得清清楚楚。
把那些周边知识先扔一边,重点攻克那些主干知识,就能从中杀出一条血路来,等主干知识巩固好了,再慢慢回来补周边知识。
仔细想想,我其实也在无意间使用着这种学习方法,于是后来在其基础上进行了强化,用到公司的新人培训上,效果甚好,这里分享给大家。
[图片上传失败...(image-42a6b6-1530148172349)]
03
我叫它「多周目知识树学习法」。
分开来讲。
先说多周目,周目就是轮次的意思,经常玩游戏的同学应该会知道,很多剧情都要二周目甚至三周目才能玩出来。这里借用的就是这个概念。
作为初学者,我们不奢求一次吃个胖子,我们分多次来学习。
第一遍看全局,知道有哪些东西,每一部分都是干什么用的,哪些重要,哪些不重要。
第二遍重原理,从最核心的原理出发,一步一步尝试以最短的路径走通整个流程,完成核心任务。
第三遍补周边,把之前做的方案拿出来,看看哪些地方可以优化,哪些地方能做得更好。
这么几遍下来,每次的学习难度降低了不少,而我们对知识的理解却深入了很多。
然后是知识树。
就像前文所说,知识点并不是平等的。我们需要在理解本质和原理的基础上,梳理出一颗知识树。
在这棵树上,我们应该可以清晰的看到哪些知识是核心、那些知识是周边,我们为什么要学它、学了它能用到那些地方。
每个人的知识树可能不一样,会随着你的理解进行调整。初学者往往很难立马建立起来完整的知识树,这时候可以借助一些学习路线图作为样本。
如果你正在或者想要学习的是PHP和Web开发,那么我这里正有一份之前梳理课程时做的、有几百个细节知识点的学习路线图可以免费下载。
[图片上传失败...(image-26a76c-1530148172349)]
(拉到文末扫码进群,即可获取高清图表)
学好编程并以此为职业并不是一件容易的事情,这里也只是针对我们发现的问题提出的方法,希望能对在学习摸索中的你有所帮助。