如何学习一个新的框架?

最近搜集了一些关于“如何学习一个新框架?”的资料,进行整理,方便以后查看,也方便有需要的人。

参考资料:学习开源框架的一些总结

最近一直在学习drools的有关知识,drools对于我来说了解的还是比较少的,但是项目又比较紧急。身边也没有会的人,只能自己上。而且,drools的中文资料又比较的少,学习起来还是比较痛苦的。现在的话也算是入门了,所以,总结了一些经验,不论是中文资料多或者是少,技术简单或者复杂,掌握第一手的资料永远是好的,所以,总结了一些经验,希望能跟大家分享。

1、一门不认识的技术,首先要了解他的作用,我们为什么要使用它。然后再去了解他的架构,最后逐步去使用里面的一些方法。知全貌,能熟练使用API。

2、我一般是先使用搜索引擎,查找相关中文资料。了解大概内容,有个基本的思路。

然后直奔官网,查找一手资料,死啃英文。如果有好的英文阅读能力,看官网的介绍,guide,API等是非常容易上手的,因为人家写的代码是一流的,同样人家写的文档也是一流的。这是肯定的,是非常详细,非常容易理解的。

3、参与社区,QQ群,微信群,社区,要参与进去,就算你平时不说话,多看看大家交流的东西,相信对你的技术提升也会有非常好的帮助。

4、如果是开源的东西,去GITHUB上看,一般的开源系统,源码附近也会有example的。而且往往人家的例子也会写的非常好。

5、就是,百度的话一般都会给你国内的链接,可是这个链接一般是掺杂了私人的观点,并不是说不好,而是有很小的可能性会有错误,而且社区一般没有国外的活跃,所以提议尽量用google,中英文都有。还是要学会出去。

6、也是最重要的一点,要学会动手,不管你是从哪学到的概念、demo等,都要自己动手才行。

7、程序员是要不断成长的,你不可能永远都学习二手的知识,那你有很大概率是会被淘汰的,所以,要培养自己的主动学习能力,英文一定要学好,就算你四六级都过了,可能你还是看不懂官方文档,所以要多看英文文档,不断地学习。

重要资料

如何从零开始学习一个框架。重要观点,可以把公司项目中的一个模块抽出来作为独立小项目,进行新技术的练手。

关于如何学习一个框架的经验总结。重要观点,在工作中不要去重复造轮子,但是在学习新技术、新东西的时候,要学会造轮子,这样才能理解其中原理,如果只是知道怎么使用框架,只是用的非常的熟练,那么随时找个人就可以取代你。

如何学习一个框架。重要观点,技术是为业务服务的,如果没有业务,技术将是无稽之谈。不要每个地方都去看源码,只有真正需要看源码的时候再去看源码。zhg: 自己的理解,就是说对于看源码这件事,要么你自己为了学东西,那么是为了解决业务,否则没必要在上面浪费太多的时间和精力。

如何快速学习一个开源框架

你有个任务,需要用到某个开源项目;或者老大交代你一个事情,让你去了解某个东西。怎么下手呢?如何 开始呢?我的习惯是这样:

1.首先,查找和阅读该项目的博客和资料,通过google你能找到某个项目大体介绍的博客,快速阅读一下就 能对项目的目的、功能、基本使用有个大概的了解。

2.阅读项目的文档,重点关注类似Getting started、Example之类的文档,从中学习如何下载、安装、甚至 基本使用该项目所需要的知识。

3.如果该项目有提供现成的example工程,首先尝试按照开始文档的介绍运行example,如果运行顺利,那么 恭喜你顺利开了个好头;如果遇到问题,首先尝试在项目的FAQ等文档里查找答案,再次,可以将问题(例如 异常信息)当成关键词去搜索,查找相关的解决办法,你遇到了,别人一般也会遇到,热心的朋友会记录下 解决的过程;最后,可以将问题提交到项目的邮件列表,请大家帮你看看。在没有成功运行example之前,不 要尝试修改example。

4.运行了第一个example之后,尝试根据你的理解和需要修改example,测试高级功能等。

5.在了解基本使用后,需要开始深入的了解该项目。例如项目的配置管理、高级功能以及最佳实践。通常 一个运作良好的项目会提供一份从浅到深的用户指南,你并不 需要从头到尾阅读这份指南,根据时间和兴 趣,特别是你自己任务的需要,重点阅读部分章节并做笔记。

6.如果时间允许,尝试从源码构建该项目。通常开源项目都会提供一份构建指南,指导你如何搭建一个用于 开发、调试和构建的环境。尝试构建一个版本。

7.如果时间允许并且有兴趣,可以尝试阅读源码:
(1)阅读源码之前,查看该项目是否提供架构和设计文档,阅读这些文档可以了解该项目的大体设计和结 构,读源码的时候不会无从下手。
(2)阅读源码之前,一定要能构建并运行该项目,有个直观感受。
(3)阅读源码的第一步是抓主干,尝试理清一次正常运行的代码调用路径,这可以通过debug来观察运行时 的变量和行为。修改源码加入日志和打印可以帮助你更好的理解源码。
(4)适当画图来帮助你理解源码,在理清主干后,可以将整个流程画成一张流程图或者标准的UML图,帮助 记忆和下一步的阅读。
(5)挑选感兴趣的“枝干”代码来阅读,比如你对网络通讯感兴趣,就阅读网络层的代码,深入到实现细 节,如它用了什么库,采用了什么设计模式,为什么这样做等。如果可以,debug细节代码。
(6)阅读源码的时候,重视单元测试,尝试去运行单元测试,基本上一个好的单元测试会将该代码的功能 和边界描述清楚。
(7)在熟悉源码后,发现有可以改进的地方,有精力、有意愿可以向该项目的开发者提出改进的意见或者 issue,甚至帮他修复和实现,参与该项目的发展。

8.通常在阅读文档和源码之后,你能对该项目有比较深入的了解了,但是该项目所在领域,你可能还想搜索 相关的项目和资料,看看有没有其他的更好的项目或者解决方案。在广度和深度之间权衡。

以上是我个人的一些习惯,我自己也并没有完全按照这个来,但是按照这个顺序,基本上能让你比较高效地 学习和使用某个开源项目。

转载地址:https://www.zhihu.com/question/19637879/answer/51507188

知乎问题:如何更有效地学习开源项目的代码?

在这个问题下有一个非常好的回答,摘抄如下:

作者:姜宁

我很认同庄表伟总结的 “学习开源,就尽可能在代码里找答案,而不是在代码之外找答案,那些都是二手的,而且很可能是不准确的。” 但是如何读好,读懂代码,我这边还是有不同的认识。1. 需要从代码管理库下载完整的源代码,而不是简单的源代码文件包或者source.jar.
这样做有很多好处,一个是你可以获取代码的修改记录,还有你可以获取到完整的测试代码,当你要提交patch的时候,你可以借助版本管理工具生成针对不同版本的patch。2. 示例代码与单元测试
示例代码可以帮助你学会使用相关开源项目的API。很多朋友在使用开源项目的时候遇到一个小问题就发信给开发者要这样或者那样的示例代码,其实他们没有发现大部分的开源项目在开发的过程中,为了验证其实现的功能,都会写很多单元测试代码。这些代码其实非常好的示例代码。可能是下源码,建工程会花费你几个小时的时间,但是如果你想深入了解开源项目的话,这点投资还是很有价值的。其实读单元测试的好处太多了,这里简单给大家列一下:
由于一个单元测试一般也就是几个小时的开发工作量,你很容易就能读懂相关的代码。每个单元测试都是可以独立运行的,这样节省你跟踪调试的时间。单元测试在很大程度定义了软件的功能,可以帮助你快速掌握项目的相关API。如果你修改的开源项目的代码,你可以通过修改单元测试来验证你的修改是否正确。单元测试里面也蕴含架构的技巧,如果被测试对象没有很好解耦你是很难写出精简的测试代码的。
3. 架构文档
其实大部分的开源项目都会对其架构有一定的描述,这些描述可能会有点过时,但是通读一下会让你项目有一个比较深入的认识。这样做好比是让你对北京的二环,三环,四环,五环有个大体的认识。这样在你要对代码的某块内容进行详细研究的时候(例如找中关村的位置的时候,知道西北四环)就能很快定位了。

[编辑于 2016-09-17]

地址: https://www.zhihu.com/question/19637879

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值