`
wwty
  • 浏览: 543159 次
  • 性别: Icon_minigender_1
  • 来自: 北京-郑州
社区版块
存档分类
最新评论

如何阅读源代码

阅读更多

从网上看到别人总结的如何阅读源代码,感觉很有道理,记下来,以备不时只需

 

开源项目已阅读了不少,总结下来按照下面的steps来操作比较恰当:
1)阅读features。以此来搞清楚该项目有哪些特性
2)思考。想想如果自己来做有这些features的项目该如何构架
3)下载并安装demo或sample。通过demo或sample直观地感受这个项目
4)搜集能得到的doc,尽快地掌握如何使用这个项目
5)如果有介绍项目架构的文档,通过它了解项目的总体架构,如果没有,通过api-doc了解源码包的结构
6)分两遍来阅读源码。第一遍以应用为线索,以总体结构为基础,阅读在应用中使用到的类和方法,但不用过深挖掘细节,对于嵌套调用,只用通过函数名了解最上层函数的意义,这一遍的目的在于把大致结构了然于心。第二遍就是阅读类和方法的实现细节,以第一遍的阅读为基础,带着疑问去阅读那些自己难以实现的模块。
7)总结。回味这个项目设计上的精妙,用到了哪些设计模式,能在哪些领域可以借鉴等等。

 

总结:
从一个接口的使用方法入手,例如DI。先从网上找到其基本原理的文章,理解之后,找到生成实例的类的代码,然后一步步向下推。看到不认识的类就查查API看是干什么用的。

 

首先要搞清它大体的处理步骤,然后再去详细看每个类的具体内容。

 

读代码,最忌从一开始就企图详细理解一个大工程的所有细节。

 

先看大匡,然后再逐步掌握自己感兴趣的细节。个人认为,多看例如JDK、Spring这样优秀的代码,对于掌握Java编程的精髓很有帮助。 初学者也不例外!

 

总结:

java的开源项目很多,框架也很多,针对第三方类库,直接编译源码是最好的方式,还能学习和修改,这也是开源的目的。

阅读源码,肯定得首先拿到源码,很多时候,都只是引入第三方的jar包,其实这不是一个很好的习惯。

分享到:
评论

相关推荐

    清除c/c++代码中条件编译部分的程序,帮助阅读源代码,生成好的tags

    网上众多的开源C/C++代码,因为跨平台的需要,参杂了许多的条件编译语句,对阅读源代码造成了不方便,而且用ctags等工具生成源代码的tags文件时会有些妨碍,本工具就是用来预处理这些条件编译的,将未定义的区域自动...

    学会阅读源代码

    在计算通信领域,写几段使人类同胞能够理解的文字,实在比敲几行不会使编译器或者解释器呕吐的软件代码要困难得多。 这就是为什么每当涉及到代码,几乎所有文档都弱爆了。因为写东西给人看,比写给机器看难得多,在...

    关于那些阅读源代码技巧

    阅读源代码是软件开发中的重要技能,它可以帮助开发者理解软件的工作原理,学习优秀的设计模式,同时在解决问题时提供思路。文章提供了关于阅读源代码的技巧和方法,其中涉及多个方面,包括目的、工具、知识准备、...

    swift-Sources一个简化的github客户端很容易且舒适地阅读源代码

    标题中的“swift-Sources”指的是一个基于Swift编程语言开发的项目,它的主要目的是提供一个简洁、易用的GitHub客户端,方便用户浏览和阅读源代码。这个客户端被称为“Sources”,其设计初衷是为开发者提供一个舒适...

    用Source Insight打开linux内核源代码

    4. Source Insight 工具的使用:Source Insight 是一个支持多种开发语言的编辑器,可以用来阅读源代码。其功能包括查找、定位、彩色显示等。可以用 Source Insight 打开 Linux 内核源代码,了解代码的结构和内容。 ...

    javascript源代码下载

    通过阅读源代码,开发者可以深入理解JavaScript的工作原理、设计模式以及最佳实践。 2. **代码调试与优化**:掌握源代码可以帮助开发者更好地调试和优化自己的JavaScript程序。 3. **二次开发**:许多开源项目提供了...

    linux 经典源代码

    通过阅读源代码,我们可以理解如何实现这些功能,例如多任务调度(如CFS调度器)和内存分配策略(如伙伴系统)。 2. **设备驱动**:Linux支持各种硬件设备,其源代码包含了大量设备驱动程序。这些驱动程序允许内核...

    嵌入式源代码source

    嵌入式源代码是开发嵌入式系统时不可或缺的一部分,它是实现特定功能、运行在微控制器或微处理器上的软件程序。对于初学者来说,理解并分析这些源代码...记得在阅读源代码时,结合相关文档和教程,以加深理解和应用。

    Linux内核源代码的阅读及相关工具介绍

    阅读源代码通常采用纵向和横向相结合的方式。纵向是从程序的执行顺序开始,例如X86平台的启动流程:bootSect.S -> setup.S -> head.S -> main.c的start_kernel()。横向则按照功能模块进行,如单独分析内存管理或进程...

    geekos-0.3.0源代码

    通过阅读源代码,我们可以理解如何分配、回收和保护内存空间。 4. **文件系统(File System)**:虽然GeekOS是一款微型操作系统,但它仍然包含了基本的文件系统支持。源代码中会包含文件的创建、读写和删除操作,...

    jdk 1.6 源代码一

    这些类库是Java程序的基础,通过阅读源代码,我们可以了解到诸如字符串操作、集合框架、I/O流等基本功能的实现原理。 2. **并发编程**:JDK 1.6引入了`java.util.concurrent`包,提供了高级并发工具,如`...

    千年源代码

    2. 分析源码:逐个阅读源代码文件,理解其编程语言、函数和类的定义,以及整体的架构和流程。 3. 跟踪历史:如果源代码附带了版本控制信息(如Git提交历史),可以通过这些信息追溯代码的发展历程。 4. 文档研究:...

    教你如何读懂源代码.zip

    首先,阅读源代码的基础是掌握编程语言。源代码通常是用C++、Java、Python、JavaScript等编程语言编写的。每种语言有自己的语法和语义,如变量声明、控制结构(如if语句和循环)、函数定义等。你需要了解这些基本...

Global site tag (gtag.js) - Google Analytics