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

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

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

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

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

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

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

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

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

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

相关推荐

    红水晶.net2.0技术可万能扩充栏目式开源企业网站V3.11

    查看应聘者 &lt;br&gt; &lt;br&gt;留言管理 &lt;br&gt; 查看留言 &lt;br&gt; &lt;br&gt;定单管理 &lt;br&gt; 查看定单 &lt;br&gt; &lt;br&gt;帐号管理 &lt;br&gt; 用户管理 &lt;br&gt; &lt;br&gt;数据库备份与恢复 &lt;br&gt; 数据库备份与恢复 &lt;br&gt;&lt;br&gt;网站访问量统计 &lt;br&gt; 网站访问量统计 ...

    <<PHPer>>第九期

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

    <<Struts在行动>>

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

    <<开源技术选型手册>>学习

    NULL 博文链接:https://seaaim.iteye.com/blog/275937

    Simple! Web Signature Control

    &lt;br&gt;&lt;br&gt;方便二次开发&lt;br&gt; &lt;br&gt; 声明 &lt;br&gt; 此项目为开源项目,不收取任何费用,除本站发布的版本之外,版本均归开发者所有&lt;br&gt;&lt;br&gt;作者有权选择代码提供对象,目的是将该项目提供给更需要它且能将它继续发展的用户...

    基于POM的开源项目Facebook-oss-pom.zip

    Facebook-oss-pom 是一个基于 POM 的部署在 oss.sonatype.org 上的facebook 上开源项目。它可以任随意调用任何基于 POM 的新项目而不用进行二次编辑修改。Facebook OSS POM 平台致力于通过 Maven 的中央资源库来建立...

    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-...

    开源的APIdoc框架Springfox.zip

    Springfox的前身是swagger-springmvc,是一个开源的API doc框架,可以将我们的Controller的方法以文档的形式展现。pom依赖:&lt;!--springfox依赖--&gt; &lt;dependency&gt;  &lt;groupId&gt;com.mangofactory&lt;/groupId&gt;  ...

    论坛源码(绝对开源版)

    &lt;br&gt;&lt;br&gt;注意数据库设置在Web.config文件中,找到:&lt;br&gt;&lt;br&gt;&lt;appSettings&gt;&lt;br&gt;...&lt;br&gt;&lt;/appSettings&gt;&lt;br&gt;&lt;br&gt;将其改为你的机子中的配置就可以了.&lt;br&gt;&lt;br&gt;*****************************************&lt;br&gt;&lt;br&gt;感谢大家...

    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....

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

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

    GitHub上最受欢迎的57个深度学习开源项目

    GitHub上最受欢迎的57个深度学习开源项目,搜集版本的

    Android动画AndroidViewAnimations.zip

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

    PHPYou开源图库相册系统V1.1

    适用于大型图库类网站、个人相册类网站、产品展示类网站、在线漫画类网站等&lt;br&gt;&lt;br&gt;主要特点:&lt;br&gt;强大易用的批处理&lt;br&gt;支持网页上传、ftp上传、打包上传&lt;br&gt;并非目录直读&lt;br&gt;灵活的无限级分类&lt;br&gt;超玄的图片浏览...

    C#开源项目汇总

    C#开源项目信息汇总

    OpenCV源码、例程、文档

    5) 方便灵活的用户接口&lt;br&gt;&lt;br&gt; 6)同时支持MS-WINDOWS、LINUX平台&lt;br&gt;&lt;br&gt;作为一个基本的计算机视觉、图像处理和模式识别的开源项目,OPENCV可以直接应用于很多领域,作为第二次开发的理想工具。&lt;br&gt;

    。net开源项目。net开源项目

    。net开源项目。net开源项目。net开源项目。net开源项目。net开源项目。net开源项目。net开源项目

    qt的开源项目源码

    qt的开源项目源码qt的开源项目源码qt的开源项目源码qt的开源项目源码

    MySQL 6 绿色精简BAT版 2.24 MB

    7.1.3 6.6 MB &lt;br&gt;地址1&lt;br&gt; &lt;br&gt;地址2 &lt;br&gt;Navicat for MySQL 英文&lt;br&gt;(Linux版)&lt;br&gt;* 非商业使用 8.0.27 20 MB &lt;br&gt;地址1&lt;br&gt;&lt;br&gt; &lt;br&gt;地址2 &lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;MySQL 6 绿色版使用批处理(BAT)文件执行,可以随意...

Global site tag (gtag.js) - Google Analytics