解读:如何更有效地学习开源项目的代码?

听到过有这样一句话,“学习开源,就尽可能的在代码里找答案,而不是在代码之外去找答案,那些都是二手的,而且很可能是不准确的。”

这里小编介绍两种关于有效学习开源项目代码的习惯:

一:

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

2.阅读项目文档,重点查阅Gettingstarted、Example之类的文档,从中了解如何下载、安装、以及使用该项目所需要的基本知识。

3.如果该项目有已经完成的example工程,先尝试按照开始文档的步骤,运行example,若果遇到问题,则要尝试在项目的FAQ等文档中查找答案;其次,将问题作为搜索的关键词搜索,寻找相关的解决办法;最后,还可将问题提交到项目的邮件列表,征求集体的意见。注意:在没有成功运行example之前,不要尝试修改example。

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

5. 在掌握基本使用功能后,则开始深入的了解该项目。比如:项目的配置管理、高级功能等。

6.如果在允许的范围内,尝试从源码上构建该项目。一般开源项目都会提供一份构建指南,介绍如何搭建开发、调试和构建的环境。

7.如可以根据自身兴趣,尝试阅读源码:

(1)阅读源码之前,查看该项目是否提供架构和设计文档,阅读这些文档可以了解该项目的大体设计和结构,则读源码的时候不会无从下手。

(2)在阅读源码时要抓住主干,尝试理清一次正常运行的代码的调用路径,这可以通过debug来观察运行时的变量和行为。同时在修改源码时,加入日志和打印可以更好的理解源码。

(3)画图,理清主干后,可以将整个流程画成流程图或者是标准的UML图,帮助记忆以及下一步的阅读。

(4)以兴趣为主,挑选感兴趣的“枝叶”代码去阅读。

(5)在阅读程序源码的时候,重视单元测试,尝试来运行单元测试,基本上一个好的单元测试会将该代码的功能和边界描述清晰。

(7)在熟悉源码后,发现有可以改进的地方,可以向该项目的开发者提出改进的意见或者issue,可以进一步帮住开发者修复和实现,参与该项目的发展。

8.通常在阅读文档和源码之后,在对该项目有比较深入的了解时,还可以进一步在广度和深度之间权衡。

第二种方法和第一种类似,但有有点不同下面看看第二种方法:

二:

1 反复地操作软件,熟悉软件的组成文件以及软件功能,同时注意IE地址栏内的地址变化。

2存放数据的XML文件或者打开数据库文件,参照数据字典,了解各个表和字段的数据含意,若没有数据字典,就利用运行软件,进行数据的输入,参照输入的数据,了解各个表和字段的数据含意。

3 使用Visio进行反向工程,抽出类图。

4 研究“类”之间的关系,注释各个类的属性以及方法,了解程序的整体框架。

5 另外去开一个项目,按照软件开发的流程,将代码分段复制进新的项目,进行编译调试。

搜索inxedu,更多分享。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值