前几天跟朋友讨论了下如何快速学习的问题。想了下将讨论的内容记录在下面。
如何学习一门新的技术,个人认为先从自己熟悉的技术入手,掌握通用的技术,比如数组,数据类型等,这种是可以举一反三的,从现有技术到新的技术的学习成本是最小的。
如何快速入门掌握呢?首先是需要先过一遍语法,大概有点印象,不需要强记。然后就是去做项目,但是项目不能去空想,最好的方法是找开源的源代码编译没有问题的项目入手。最后就是 Google,看源码敲代码。
这其中会有个问题,项目很大,下手很难,怎么去做?将项目进行拆分,先考虑整个项目要做什么,分成几大块,一直拆解到能随手在网络上能查到对应的解决方法为止。
举个例子:很多项目含有登陆注册;登陆注册又包含UI页面,网络请求,数据交互;UI页面分为主页面,输入框,按钮;这样拆解到输入框,按钮部分。这个网上查也好,看源码也好都很容易找到对应方法,能使自己快速入手。
这样做也有个好处,就是培养自己学习的热情,对掌握新知识有足够的信心。
学新东西时不要使用CV大法,如上所说,拆解到最小的部分,往往很简单,这样手动敲上去会更容易学会。
这种学习节奏是先慢后快,将手感、语感培养一段时间,熟练后再使用CV大法加快工作效率。
举个例子:比如从OC学Android,Xcode的使用与Android Studio是不同的用法,OC与Android是不同的语法,需要敲代码去学会适应这种转变。
学新东西的时候切记不要轴,记住二八原则,一门新语言掌握80%即可用了,不要去钻牛角尖。
拿到新功能新需求会怎么做?一般首先会想下这个需求是什么,生活中有没类似的,怎么去描述它,关键字属于什么。弄明白这些,大概有个范围,这样去百度也好,Google也罢,都能找到对应的。刚开始搜关键字不一定准确,但是只要有类似相关,去查看更精确的关键字是什么,然后再使用更精确的关键字进行查找,反复锻炼以后的搜索能力就会越来越强。