如何快速掌握一项技能?使用 PBL 教学法高效学习攻略
为什么写这篇文章 去年七八月份,我第一次知道 PBL 教学法。在了解相关概念后,发现与我一直以来倡导的学习技能的方法高度契合。 就好像我基于反复实践而积累形成的经验主义,最终遇到了与之对应的理论知识,从实践结合理论,形成了高度统一性。 但不久之后,我因为没有对此做系统性的总结,就忘记这个方法的名字了。 这次趁开始学习 C++ 嵌入式软件开发,我打算把所有思路都梳理清楚,把这套亲测有效的学习方法分享出来。 我最开始学 Java,后来做 Android 开发,2018 年转型学习前端 Vue,并参与前端项目开发。同时,开始参与产品原型设计和项目管理的工作。 2020 年因为技术的发展演变,以及项目成本方面的考虑,转为使用 Flutter 开发 APP。 算下来,应该是有不下五次转型的经历,有些太细碎的,就没提了。 这些转型经历,让我深刻认识到快速学习一项技能的重要性。 当然,这个问题在开始转型学习前端 Vue 就有想过了,只是当时没能找到规律。 转型前端开发工程师 我开始转型学习前端 Vue 框架,当时的学习思路是这样的,我在 W3school 这个网站里找到了 JavaScript、HTML、CSS 这三部分的教程,然后从 HTML 开始,把上面的例子利用周末的时间全都敲了一遍。 然后,通过自己整理成文章,发布到简书上面去。 因为 W3school 网站虽然有在线编译器,可以让你运行显示代码效果,但是你要是重温的话,就必须每次都点一下。 在我看来,真的太麻烦了,索性就把全部的知识点都敲了一遍,然后把效果截图到文章里。 然而,我并没有看完全部的教程内容,就直接参与到项目中,去开发具体的功能了。 哪里不会,就通过官方文档寻找答案,或者网上找其他人实现的类似案例。 看代码是怎么实现的,依葫芦画瓢,别管到底能不能看懂,先搬过来运行看看效果。 如果是成功实现了功能,那就再深入看下代码,这里提一下,深入看下代码的意思,不是让你把全部代码背后的底层原理,都理解得清清楚楚。 只需要知道当前用到的代码,是什么意思就行了,也不用把关联的相关知识都学了,没有多大的意义,等以后用到再学就行。 比如 JavaScript 里的 Math 对象,它的方法那么多,常用的就那几个,你就没必要现在花时间去记住,就当工具书,有个印象,后面真用到,再查一下就行。 只学当下用到的,其他的一概不学。 如果没能实现功能,就再找,实在找不到,就问其他同事,大概是怎么实现的,自己再回去捣鼓,千万不能有那种要是我去问同事或者领导,会不会被人看不起,自己技术很菜的心理。 因为你本来就不是做这个的,你只是新手,你都愿意学习了,已经很不错了,其他人没理由这样觉得,反而你要是一个人在座位上钻牛角尖,功能没有如期交付,反而给其他人留下了不好的印象。 我没有花几个月时间先学完所有理论知识,而是在项目中遇到什么问题,就去学习什么知识,学完马上用到项目中。 基于这个方法,我很快就能独立负责前端 Vue 项目开发的工作了。 转型 Flutter 开发工程师 2020 年,我开始学习 Flutter 开发,完全零基础,部门里就我带着另一个同事负责这个 APP 的开发工作,这一次和转向前端 Vue 开发工作不同,我连官网文档都没看过,就直接上手敲代码实现功能。 ...