工作中遇到新知识应该怎么办
活到老学到老是我们常常说的一句话,但是真正在工作中学习的时候就没有那么轻松了。一般人面对工作中的新知识往往先是恐惧然后抱怨进而不自信最后逃之夭夭,末了还得出结论:自己不是这块儿料。其实不然,智力上人们之间差不了多少,缺少的就是那么一点点的方法和信心而已。这次外包中遇到了自己从未接触过的新知识,在此分享一下学习的感受或者说是对待新知识的方法,希望在读者以后的工作中能起到帮助作用。
看帮助文档
还记得当年大明湖畔我们看的帮助么?:b有什么不懂的先看帮助啊!学了这么多年是不是已经把在提高班第一天学习的东西丢掉了呢?无论是学习框架还是学习软件,帮助都是我们应该第一个想到的巨人,其实框架或者是软件的作者们已经将他们想对你说的话全部倾注于帮助当中,换句话说帮助文档是我们与作者沟通的最有效也是最快速的方式。帮助是开发者或者是前人对我们最大的恩典。
就拿这次我们接触的Dinamica框架来说,网上关于这个框架的资料是很少的,官方给的文档就那么几份,并且由于这个框架的开发者是西班牙人,所以文档大部分是西班牙语的(悲剧啊)!尽管大部分是西班牙语但是英文的还是有的,“先把英文的看完再说”是我当时的想法,果然硬着头皮看完之后对这个框架有了基本的了解。
时刻不忘站在巨人的肩膀上,当然在寻求巨人的时候,不要仅仅局限于帮助文档,网络上的一切资源都是帮助,比如别人的博客,比如QQ群或者论坛里面的热心的朋友等等,这些都是巨人,帮助只是巨人中最常见的而已。
宏观的去看新知识
还拿这次遇到的新框架举例子,在看别人的代码的时候不应该打开类文件,然后一头扎进去。因为那样只会让自己从一个方法跳转到另一个方法,从一个类跳转到另一个类,最后的结果就是把自己看得晕头转向,搞得自己云里雾里的,再然后就放弃了。得出的结论是:人家的东西就是牛,看都看不懂。其实不是这样子的,看源码需要技巧,绝不是扎进去就看!
应该先从整体上来看一个类的功能,然后看这个类有几个方法,几个变量,根据注释以及命名来判断这个类以及他的各个方法、各个变量大致是干什么的。初次看源码到这里已经可以了,千万不要往方法里面走,最忌讳的就是ctrl+鼠标左键进入方法当中!鬼知道鼠标点来点去点点到最后将跳转到哪个类的哪个方法当中。真正的把一个类的功能搞清楚是之后的事情,开始的时候只需要从宏观上看类的变量以及方法,有这些已经足够了。个人认为研究类当中方法的具体实现应该在熟悉整个框架之后才做的,刚开始的时候应该暂时放弃细节,重点研究宏观上的功能,只有这样才能保证不被源码搞晕。
值得一提的是eclipse本身就为我们做好了铺垫,eclipse视图当中的outline(大纲)就给我们清晰的展示了类的方法以及变量,一目了然。看源码如果不用大纲视图就像黑暗神殿里boss的一句话:“你们这是自寻死路!”
可以不认识路边的风景,但一定要知道自己现在在哪!
从已有的知识出发
看了帮助,有了宏观,最后就是从自己已有的知识出发去研究新知识的原理。比如我们学习了SSH那么在遇到新的框架的时候我们应该从哪里入手呢?看帮助,有宏观已经做完了,那么剩下的就是从已经有的知识下手,对于框架他总有自己的基础(框架觉不是凭空出现的),在Java中大部分的框架是支持J2EE的,那么首先应该注意的就是web.xml文件,要查看在XML文件中是如何配置让程序找到这个框架。Servlet也好filter也好这些是我们熟悉的,应刚从这里去一点点的向框架的深处挖掘他的奥秘。
再比如数据库,我们学了Sql Server如果遇到一个新的数据库可能是Sybase也可能是postSql很自然的去找与Sql Server的相同点,然后再用的过程中再去找他们的不同点。Sybase和Sql Server大体相似但是postSql和Sql Server就有一些差异了,比如表空间、模式、角色是Sql Server中没有的,这些才是在对比过程中需要我们重点学习的。
基础很重要,基础+方法是决定加速度的主要因素。
提高是必需的,学新知识是不可或缺的,就像古人说的“问渠哪得清如许,为有源头活水来。”而这驾驭活水是有方法可循的,绝不是忙学、盲学、莽学!