`
gushuizerotoone
  • 浏览: 175032 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

<悟|思考> 怎样学习开源项目

阅读更多
转载《分享我的学习方法——还是坚持+努力》
http://jinnianshilongnian.iteye.com/blog/1709268

1. 看简介,了解这个项目是解决什么问题的。找关键词,总结核心目的。而且能提出一系列问题,思考十分重要,根据思考去深入学习。

2. 入门:根据官网的helloworld。
   深入:如果官网提供了单元测试用例,最好是一个个地跟着试。
   动手:写自己需要的功能,或者自己觉得有趣的功能。
   静/悟:如果比较重要,读官方文档。

3. 了解一下与该项目相类似的其它两三门技术。大致了解一下互相的优缺点。

4. 学习源码建议从低版本开始,因为功能少都是核心,好研究。可以对比最低版本和最新版本慢慢看。

5. 把握度:有些东西是要深入的,有些东西是适可就止。尽量做到每一方面都有涉及,但是有深入的面。有些只需读最核心部分的代码即可,无需读所有代码。

6. 阅读源代码要分而治之,一次读一块,不要混读,不要杂读,有些不懂的,可以放一放,事后再读,有可能会恍然大悟。

7. 要经常写代码,有自己的代码库,每个代码库都是独立的模块。根据开源项目发明自己的轮子,轮子不一定非得用到自己的项目。
分享到:
评论

相关推荐

    Java Web项目集成开源报表工具BIRT

    Java Web项目集成开源报表工具BIRT 本文将指导读者如何将BIRT开源报表工具集成到已有的Java Web项目中,以Birt4.4.2为例。下面是具体的步骤和知识点: 步骤1:下载BIRT 首先,读者需要下载BIRT的最新版本。在BIRT...

    <<PHPer>>第九期

    CMS驱动Web2.0&lt;br&gt;Web2.0的快速发展离不开开源内容管理系统的支持,当前流行的Blog、Wiki等系统都或多或少的采用了开源CMS系统,甚至有人认为是开源CMS系统导致了Web2.0的产生并快速发展。同时,开源CMS系统也随着...

    <<Struts在行动>>

    Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究... Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制

    25个微软经典开源项目框架源码(一)

    To open the source included in the sources.zip file, please extract it to a folder in your hard disk and then open the file &lt;&lt;your folder&gt;&gt;\NMvp.sln for the solution to open in VS 2005. Any feedback ...

    webmagic-0.7.3-all.tar.gz

    webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。 最新版:WebMagic-0.7.3 Maven依赖: &lt;dependency&gt; &lt;groupId&gt;us.codecraft&lt;/groupId&gt; &lt;artifactId&gt;webmagic-...

    项目辅助开发器1.0 Beta3

    开源博客园文章采集插件&lt;br&gt;&lt;br&gt;1.0 Beta2版本功能&lt;br&gt;&lt;br&gt;1.增加文章采集插件&lt;br&gt;2.采用多线程优化窗体性能&lt;br&gt;3.修正了带参数SQL语句的类型问题&lt;br&gt;&lt;br&gt;&lt;br&gt;1.0 Beta1版本功能&lt;br&gt;&lt;br&gt;1.主界面仿VS编译器效果,...

    实现SSO的CAS开源框架介绍

    &lt;filter-name&gt;CASFilter&lt;/filter-name&gt; &lt;filter-class&gt;edu.yale.its.tp.cas.client.filter.CASFilter&lt;/filter-class&gt; &lt;init-param&gt; &lt;param-name&gt;edu.yale.its.tp.cas.client.filter.loginUrl&lt;/param-name&gt; ...

    Java语言为基础的WEB+ORM免费开源框架,设计原理符合一般Web框架规则 易学、代码少、快速上手、零配置,极大提高开发效率,减少错误率.zip

    Java语言为基础的WEB+ORM免费开源框架...--最新版本请以前往maven搜索FastChar查看--&gt;&lt;/dependency&gt;第二步修改web.xml,将以下代码复制进入&lt;filter&gt; &lt;filter-name&gt;fastchar&lt;/filter-name&gt; &lt;filter-class&gt;com.fastchar.

    借助开源项目,学习软件开发

    在IT行业中,软件开发是一项核心技能,而开源项目则是学习这项技能的重要途径。开源项目意味着源代码对公众开放,允许任何人查看、学习甚至修改。这种开放性为新手开发者提供了宝贵的资源,使他们能够深入理解软件...

    Maven搭建Grpc项目详细流程附加grpc—java简单demo

    &lt;pluginArtifact&gt;io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier}&lt;/pluginArtifact&gt; &lt;/configuration&gt; ``` 5. 创建`.proto`文件,这是gRPC服务的接口定义。例如: ```proto syntax = "proto3...

    使用GitHub搭建Maven私库

    ### 使用GitHub搭建Maven私库 #### 背景与目的 随着软件开发项目的增多和个人技术积累的增长,很...以上步骤和说明提供了搭建GitHub上的Maven私库的完整过程,希望能帮助开发者更好地管理自己的开源项目和技术积累。

    Rails表单构建器formtastic.zip

    &lt;%= f.inputs do %&gt; &lt;%= f.input :title %&gt; &lt;%= f.input :body %&gt; &lt;%= f.input :section, :as =&gt; :radio %&gt; &lt;%= f.input :categories %&gt; &lt;%= f.input :created_at, :as =&gt; :string %&gt; &lt;% end %&gt; &lt;%= f....

    基于Python Flask的在线成绩发布学习平台开源项目

    项目概述:基于Python Flask的在线成绩发布学习平台是一个开源项目,...该项目旨在为广大用户提供一个便捷的在线学习环境,集中管理和发布学生的成绩信息,其开源性质允许并鼓励用户根据自身需求进行定制化修改和扩展。

    Hadoop-Spark-Learning.rar

    本项目记录我学习hadoop和spark等开源框架的代码,因为也是最近才用github,之前都是荒废状态,故部分都是是之前写好的,现在上传至github&lt;br/&gt; 本部分分为多个项目,会涉及目前比较火的大数据的相关概念,比如说...

    国内开源中国镜像settings.xml配置

    标题中的“国内开源中国镜像settings.xml配置”指的是在开发环境中,为了加速访问国外的开源软件仓库,如Maven或Gradle,开发者通常会配置一个国内的开源镜像地址到`settings.xml`文件中。这个配置能有效提高依赖...

    90几套Unity开源项目.txt

    根据提供的文件信息,...综上所述,Unity开源项目为学习者提供了一个宝贵的学习资源库,无论是对于初学者还是有一定基础的开发者而言,都有着不可替代的价值。通过合理利用这些资源,可以加速个人技能的成长和发展。

    Activiti工作流基础教程

    &lt;artifactId&gt;Activiti-engine&lt;/artifactId&gt; &lt;version&gt;5.21.0&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.Activiti&lt;/groupId&gt; &lt;artifactId&gt;Activiti-spring&lt;/artifactId&gt; &lt;version&gt;5.21.0&lt;/version&gt; ...

    PHP168整站 v4.0 SP

    PHP168整站 v4.0 SP&lt;br/&gt;&lt;br/&gt;运行环境:PHP, MySQL &lt;br/&gt;&lt;br/&gt;授权方式: 开源软件&lt;br/&gt;&lt;br/&gt;软件简介 &lt;br/&gt;&lt;br/&gt;1.源代码全部开源不加密,可以很方便的进行二次开发.&lt;br/&gt;2.风格制作采用标签化,做风格非常方便,...

    go开源项目大全(目前最完整)

    这个项目初衷是帮助到那些想学习和借鉴优秀golang开源项目, 和在互联网架构设计时期望快速寻找合适轮子的人。 目录 监控系统 容器技术 PaaS工具 大数据 微服务 CI/CD 数据库技术 存储技术 分布式系统 消息系统 ...

    Android动画AndroidViewAnimations.zip

    AndroidViewAnimations是一个能实现很多很酷炫的 Android 动画的开源库, 动画效果是通过借鉴 Animate.css 来实现的, 不仅酷炫,使用起来也非常简单。效果图:使用:Gradledependencies {  compile '...

Global site tag (gtag.js) - Google Analytics