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

走向开源代码分析第一步,准备,思路和方法小结

阅读更多

终于下定决心要开始学习开源代码了,主要有两个目的

一:扩大自己的知识面

二:看看别人优秀的代码是怎么写的,多学习,在自己的工作和代码生活中能用上

三:学习一些主流的源码,可以增加自己的代码,完善他们为我所用。

 

 

准备阶段,上著名开源软件网站(www.sourceforge.net )上下载源码。注意,我们要学习源码不要下载开源的jar包,要下载的是项目的开发工程,这样才有效果。开源网站上的开源项目主要有2种形式svn和cvs。

 

在sourceforge上的某一个项目上,点击devlop按钮,会出现一个code按钮,下拉出现cvs和svn。这个链接提供了想要下载这个项目的cvs或svn链接。点击这个链接会看到项目的下载地址,
比如:
cvs的
[cvs -d:pserver:anonymous@construct.cvs.sourceforge.net:/cvsroot/construct login]
[cvs -z3 -d:pserver:anonymous@construct.cvs.sourceforge.net:/cvsroot/construct co -P modulename]
同时,你在cvs repository或 svn repository的下面还会看到browse cvs或browse svn这个是用来浏览项目目录的。
如果你使用wincvs,点admin菜单的command line里输入命令:
cvs -d:pserver:anonymous@construct.cvs.sourceforge.net:/cvsroot/construct login
他会问你password,直接回车就行。
然后,接着在命令行接着键入下面的命令:
cvs -z3 -d:pserver:anonymous@construct.cvs.sourceforge.net:/cvsroot/construct co -P modulename
这里的modulename就是你在browse cvs里看到的,你想要下载的模块名,如果你想下载项目的所有文件,modulename写成
你在browse cvs里看到的根路径名。

如果,项目是通过svn管理的,则你需要下载tortoiseSVN。tortoiseSVN和wincvs不同,她不是一个带界面的软件,安装完
之后,会在windows右键查单中出现,在你要保存项目的磁盘位置,新建一个文件夹,右键该文件夹,会看到一个svn
checkout菜单项,点击后,弹出一个对话框,在url of repository中输入上面的:
[https://scummvm.svn.sourceforge.net/svnroot/scummvm scummvm],就可以把项目下载下来了。


好了 下载下项目后,你就可以直接导入eclipse中,进行学习,这样的好处是,你能轻松的调试代码,了解代码。

最好一边欣赏代码,一边画uml图,清晰自己的思路。

好了,自己开始学习自己的第一个开源项目Junit.
分享到:
评论

相关推荐

    Windows内核情景分析-采用开源代码ReactOS(下册)高清pdf版

    本书《Windows内核情景分析-采用开源代码ReactOS(下册)》是一本深入探讨Windows操作系统内核的专著,作者采用了开源操作系统ReactOS的源代码作为分析材料,对Windows内核的结构、功能、算法和实现进行了详细的解剖...

    如何阅读开源代码

    当开始一个新的项目时,查看类似项目的源代码可以帮助我们更快地进入状态,并从中汲取有价值的思路和技术方案。此外,通过参考现有的开源代码,我们还可以避免重复造轮子,节省大量的时间和精力。 #### 二、具体...

    OBD开源代码资料

    OBD开源代码资料是针对汽车诊断和车联网技术的一份宝贵资源,主要面向软件开发者和对汽车电子有兴趣的技术人员。OBD(On-Board Diagnostics)是汽车自我诊断系统,允许外部设备通过标准接口访问车辆的运行数据,进行...

    仿三菱PLC开源代码

    【仿三菱PLC开源代码】是一个专为学习和开发基于8051芯片的PLC(可编程逻辑控制器)设计的项目。8051是一款经典的微处理器,广泛应用于嵌入式系统,包括PLC设备。这个开源项目旨在提供一个与三菱FX1N系列PLC兼容的...

    推荐算法开源代码库java版

    开源代码库为开发者提供了丰富的资源和学习平台,使得理解和实践这些算法变得更加容易。本开源项目专注于Java实现的推荐算法,共计涵盖了70多种不同的推荐算法,这在软件开发和数据挖掘领域具有很高的实用价值。 ...

    室内地图开源代码

    【室内地图开源代码】是一种专为建筑物内部设计的导航系统,它允许开发者创建、管理和集成交互式的室内地图到他们的应用程序中。开源意味着源代码可供公众查看、修改和分发,鼓励社区协作和改进。在本案例中,...

    开源JPEG分析器(程序+源代码)

    标题"开源JPEG分析器(程序+源代码)"表明这是一个用于分析JPEG图像文件的软件,而且是开源的,意味着其源代码可供用户查看、学习和修改。这个工具的主要功能是对JPEG编码标准进行深入研究,并且具备解码JPEG文件的...

    modbus开源代码

    开源代码通常提供了一个基础框架,你可以根据需要扩展功能,例如添加对其他Modbus变体(如Modbus Plus或Modbus ASCII)的支持,或者实现更高级的功能,如批量读写和心跳检查。 总的来说,这个开源的Modbus源代码是...

    网站后台程序开源代码

    本文将深入探讨四个开源后台框架程序,包括超市管理系统后台模板、网站后台管理框架系统、仿126邮箱后台以及教育网站后台管理系统源代码,旨在帮助读者理解并掌握后台开发的关键概念和技术。 1. **超市管理系统后台...

    WPF优秀开源代码合集

    本压缩包中的“WPF优秀开源代码合集”显然是一份包含了多种WPF应用开发的示例代码或者开源项目,可以帮助开发者学习和理解WPF的各种特性和最佳实践。通过研究这些开源代码,开发者可以提升自己的WPF编程技能,了解并...

    基于Python的三维重建开源代码

    本开源代码集合就是专注于利用Python实现这一过程,特别强调了特征提取、Structure from Motion (SFM)、PMVS (Parallel Mesh View Synthesis) 和 CMVS (Consensus-based Multi-View Stereo) 这些关键步骤。...

    Windows内核情景分析上-采用开源代码ReactOS(上册)高清完整.pdf版

    用了一年时间认真的看了一遍,真是经典,Windows内核方面的入门书籍

    2D板材排版套料开源代码

    这个开源项目名为"2D板材排版套料开源代码",它提供了一种高效的方法来优化板材的利用效率,通过遗传算法来解决这个问题。遗传算法是一种模仿生物进化过程的优化技术,可以用于寻找复杂问题的近似最优解。 首先,...

    IEC61850开源代码libIEC61850

    libIEC61850则是一个开源的、基于C语言实现的库,它为开发者提供了一种方便的方式来实现IEC61850协议,从而在各种设备和系统之间进行数据交换。 一、IEC61850标准概述 1. 标准背景:随着电力系统的发展,变电站的...

    ucgui源代码和分析文档

    UCGUI的源代码和分析文档对于深入理解和使用该库是至关重要的,特别是对于那些想要在GUI设计和开发领域提升技能的工程师来说。 UCGUI的核心特性包括: 1. **高效性能**:UCGUI设计时考虑了资源受限的嵌入式环境,...

    FPGA实现CAN总线控制器开源代码.zip

    本代码是FPGA实现CAN总线控制器的开源代码,工程文件可直接通过ISE调试!

    Windows内核情景分析-采用开源代码ReactOS(上册)高清pdf版

    本书《Windows内核情景分析-采用开源代码ReactOS(上册)高清pdf版》是深入学习和理解Windows操作系统内核机制的重要参考书籍。它以ReactOS这个开源的、与Windows API兼容的自由操作系统项目为基础,通过对源代码的...

    小程序商城开源代码wechat

    `wechat_shop-master.zip` 是一个包含微信小程序商城源代码的压缩包,为开发者提供了一个完整的开发框架,便于自定义和扩展。 一、微信小程序商城的基础架构 微信小程序商城通常由以下几个核心部分组成: 1. **...

    频谱分析c++源代码

    频谱分析是数字信号处理中的一个关键概念,用于揭示信号在频率域内的组成。在这个C++实现的程序中,核心算法是快速傅立叶变换(FFT),它是一种高效的计算离散傅立叶变换(DFT)的方法。接下来,我们将深入探讨频谱...

    WPF MVVM整套框架+Socket+SQL+ADO+开源代码

    此项目的开源特性意味着开发者可以查看和学习源代码,理解如何在 WPF 中集成 MVVM 模式、Socket 通信以及数据库操作。这有助于提升开发者的技能,同时也可以借鉴和扩展现有的功能。 总结,这个 WPF 示例项目是一个...

Global site tag (gtag.js) - Google Analytics