知识大全 如何更有效地学习开源项目的代码

Posted 项目

篇首语:逆风的方向,更适合飞翔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何更有效地学习开源项目的代码相关的知识,希望对你有一定的参考价值。

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

我在大学期间就频繁参加各种比赛,收获很大。一个完整的项目,不管再小,只要做完了,就会有收获。
大三的时候就是因为参加比赛,才开始看一些比较大的开源项目源代码,大概几万行的样子,看完了感觉受益匪浅,从网上成熟的开源代码里,可以学到很多的设计思想。之后因为其他的项目,又陆续看了几个开源项目的代码,每一个代码量都不算太大,大概几千行到几万行不等。虽然我很热爱编程,但是,我看开源代码也全部是因为项目需要,是项目驱动的,感觉很突兀的拿来一个项目的代码来看,找不到那么强大的斗志。
所以,我还是建议你从项目入手,以项目为驱动,激励自己进步,是否一定要看开源代码,就看你个人的兴趣和需要了。

1.在下载源代码之后,首先要跑起来,编译通过、正常运行;2.在你觉得最有可能运行到的地方,设置断点或者抛出异常,这样,就能够找到一个项目在正常运行时的入口点;3.从入口点所在的那个源文件开始阅读,逐步把握整个项目是如何启动起来;4.随便改点代码,看看会不会报错,如果报错,会从哪里报错;5.试着把报错屏蔽、修复、或者绕开;6.尝试理解一个系统的内部结构,多少组成部分,主线模块是哪些?辅助模块是哪些?7.从实际需要出发,修改这个项目,满足自己的某一个小的需求。(注意在此之前,尽量不要在网络上找答案);8.看看相关的讨论与心得,是否与自己的理解相一致;9.提交bug fix或者某个新的功能代码。在学习开源的过程中,有几个方面会获得大量收获,1.架构与模式;2.开源社区常见的一些惯用法;3.相关领域的结构与算法。总结一点:学习开源,尽可能在代码里找答案,而不是在代码之外找答案,那些都是二手的,而且很可能不准确。

[探讨]如何更有效地学习开源项目的代码?

导读:对于开发者来说,社区里丰富的开源代码其实是笔极为宝贵的财富。如果能充分利用好开放源代码的资源,不仅可以掌握多种编程方法,提高实践能力,还能获得好的思想,激发编程灵感。开源代码怎么学以及怎样才能学好是大家经常关注的话题,日前,在问答网站知乎上,有人抛出了“如何更有效地学习开源项目的代码?”的话题,众技术好手各抒己见,CSDN软件研发频道对本文内容进行了整理,方便大家学习与参考。盛大创新研究院研究员 庄表伟:学习开源 尽可能在代码里找答案 庄表伟提供了以下9个建议:1.在下载源代码之后,首先要跑起来,编译通过、正常运行;2.在你觉得最有可能运行到的地方,设置断点或者抛出异常,这样,就能够找到一个项目在正常运行时的入口点;3.从入口点所在的那个源文件开始阅读,逐步把握整个项目是如何启动起来;4.随便改点代码,看看会不会报错,如果报错,会从哪里报错;5.试着把报错屏蔽、修复、或者绕开;6.尝试理解一个系统的内部结构,多少组成部分,主线模块是哪些?辅助模块是哪些?7.从实际需要出发,修改这个项目,满足自己的某一个小的需求。(注意在此之前,尽量不要在网络上找答案);8.看看相关的讨论与心得,是否与自己的理解相一致;9.提交bug fix或者某个新的功能代码。在学习开源的过程中,有几个方面会获得大量收获,1.架构与模式;2.开源社区常见的一些惯用法;3.相关领域的结构与算法。总结一点:学习开源,尽可能在代码里找答案,而不是在代码之外找答案,那些都是二手的,而且很可能不准确。互联网评论员 朱晓阳:从简单做起 理论联系实践朱晓阳对此发表了两点看法:首先,从简单做起。刚开始的时候学习一些领域内基础理论,然后找一些简单的东西去实现,不能一开始就去找开源项目。建议大家经常动手写一些小程序,如改进宿舍网络登录客户端等。积小成多,能显著提高自己的编程能力。其次,学习的知识一定要和自己生活或工作有联系,这样才会有乐趣或动力。互联网评论员孙竟:先构想一个想做的项目首先,构想一个想做的项目(比如论坛、博客、微博等);然后,思考需要什么功能,应该怎么去实现,尽可能包括各种细节,有必要时记录下来;最后,去找个类似的开源应用,看看它是怎么实现的,和你的想法有什么差异,有什么可以学习或需要改进的地方。互联网草根hqman:我的5个建议:1.反复地使用软件,熟释软件的组成文件和软件功能,注意IE地址栏内的地址变化;2.打开数据库文件或存放数据的XML文件,参照数据字典了解各个表和字段的数据含意;如果没有数据字典,就运行软件输入数据,参照所输入的数据,了解各个表和字段的数据含义;3.利用Visio进行反向工程,将类图抽出来;4.研究类之间的关系,注释各个类的属性和方法,弄清程序的整体框架;5.另开一个项目,按照软件开发的流程,将代码分段复制进新的项目,进行编译调试,关注一些实现细节,学习一些编程的技巧。在读研究生张伟:在校学生空闲时间多参加一下比赛张伟的建议是大家在空闲时间多参加一些比赛。一个完整的项目,不管再小,只要做完了,就会有收获。多看一些比较大的开源项目源代码,每次看完后都会受益匪浅。从网上成熟的开源代码里,可以学到很多的设计思想。他认为,从项目入手,以项目为驱动,可激励自己进步。当然,是否一定需要看开源代码,这将取决于个人的兴趣和需要。画出程序流程图 理解程序流程思想CSDN博客专家i_like_cpp:曾在CSDN分享了《如何将源代码学好》的博文,对此,他给出了四点建议:1. 画出整个程序的流程图,理解整个程序流程的思想。画流程图的方式更让人很直接的理解程序的整体流程,而不会被代码所干扰,让程序员总体上把握整个程序;2. 对流程各节点(函数或过程)的理解,流程的每一节点是构成整个流程的不可缺少的部份;3.再把流程和流程各节点串起来理解整个程序,可能的话最好写出读书笔记;4. 如果想深刻的学习到源代码的精髓所在,请写一个相近的程序进行操练。理解了这个程序并不表明掌握了这个程序,只有在操练一个相近的程序时,才知道你到底理解了多少,掌握了多少。编后语:源代码的学习是一个从整体到不断细化的过程,是一个极为繁琐的过程同时也是一个不断认清事物本源的过程。本文总结的源代码的学习经验,希望对您有所帮助。那么,CSDN的网友们,你们是如何对待开源项目源代码的呢?不妨分享一下!

如何更有效地学习会计

要勤,多学、多问、多练。
1)首先从会计科目入手,背熟科目核算内容,
2)学习记账规则和记帐流程,学习会计制度,学习基础知识,
3)多练,多积累实际经验
4)及时了解各种财税政策,拓宽知识面
5)注意灵活运用,逐步做到精准核算,合理避税。
我以前学习类似课程的方法是:先通读课本,然后做配套的练习,练习中出现不懂的点再回去课本里边复习相对应的知识点。练习全部做完之后再重新看一遍,把相对应的知识点在课本里边划出来,并记忆。
之前背过期货的法律法规就是按着这种方法,不高分,不过也过了。(*^__^*)
加油哦

如何更有效地学习英语?

这就要看是有效地把英语学成了英语,还是学成汉语了!

如何更有效地学习法语?

跟老外聊天 写邮件让他给你改

如何更有效地学习电脑知识

到51自学网去看看,也可以加入你感兴趣的论坛,不会的问题去网上搜搜,慢慢就好了!不能心急!

如何能更有效地学习英语

英语:
好的方法能让你在最短的时间内达到最好的效果,所以在学习的时候要总结方法,同时多学习别人的好方法。主动、持续地学习,如果对英语没有兴趣,就要想方设法培养兴趣,让它变成你所喜欢的事情,让你总想去学,把它学好。好的方法和浓厚的兴趣,英语的学习效果与所花时间成正比,所以要持之以恒。终能学好英语。
一、读,每天都应坚持读。
1、一般文章读2~3遍,带着理解去读。
2、好的文章也应背熟,以记住好词好句,同时培养自己的语感。
3、对文章的准确理解,并熟悉语法结构,加深单词记忆。
4、提高自己的阅读。如果想记忆单词,则可查词典,多次查阅记忆便能记住单词。
二、多听,每天都应坚持听。
1、 从最初级的听力入手,听懂每个单词、每句话、每段话及每篇文章。逐步增加难度。
2、 跟读英语,一方面加强听力,一方面训练口语,同时还能培养语感。注意发音的准确性。
三、说,每天都应坚持说。多说,尽量找英语好的人或者外教,有条件也可以到聊天室。
总之,是个积累的过程,你了解的越多,学习就越好,所以多记忆,选择自己的方法。祝学习成功!

相关参考

知识大全 开源项目 的代码哪里下阿

开源项目的代码哪里下阿sourcefe.opensource.code.google.open-open.PHP开源项目这个不一定是开源的,可能是自己根据开源项目归划的需求。和ecmall符合。哪里可

知识大全 求推荐几个好的java方面开源项目还有基本学习java好用的书

求推荐几个好的java方面开源项目还有基本学习java好用的书mvnForum,一个小的开源论坛系统,java开源论坛中做得较好的一个;OpenCms,历史最悠久和使用广泛的java开源CMS系统的老

知识大全 GitHub 上都有哪些值得关注学习的 iOS 开源项目

GitHub上都有哪些值得关注学习的iOS开源项目  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Gi

知识大全 前车之覆,后车之鉴 --开源项目经验谈

  随着开源文化的日益普及参与开源似乎也变成了一种时尚一时间似乎大家都乐于把自己的代码拿出来分享了就在新年前夕我的一位老朋友一位向来对开源嗤之以鼻的JEE架构师竟然也发布了一个开源的JEE应用框架(姑

知识大全 c# 开源项目 Vmukti

c#开源项目Vmukti  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  c#开源项目Vmukti

知识大全 目前有哪些好用的免费OA开源代码,一定要有工作流的那种,万分感谢

目前有哪些好用的免费OA开源代码,一定要有工作流的那种,万分感谢!  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 Java开源项目Hibernate快速入门

Java开源项目Hibernate快速入门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  其实H

知识大全 Java开源项目Hibernate包作用详解

Java开源项目Hibernate包作用详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hi

知识大全 java 开源数据库项目 Derby的问答

java开源数据库项目Derby的问答  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  IBM?在

知识大全 开源项目关于web app的Log4j应用

开源项目关于webapp的Log4j应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  建立lo