怎么样开始读懂开源项目

前面的朋友回答的都有很多好的方法了。除了这些,我自己的一个体会就是学东西最快的方法是带着任务学习。因此你不妨给找一个目标,比如修改某一个地方,带着这个任务去看代码,去学习,速度会更快。找一个很小的突破口深入进去,然后再拔出萝卜带出泥,顺藤摸瓜,就能比较快的摸清楚程序的结构了。
■网友
从他的使用指南和设计文档开始看
■网友
1:先会用,基本的功能都能准确的使用;2:选择其中一个方法(实现),大概猜测一下这个实现可能是如何,然后用一些工具快速查找定位这个方法的定义位置,推荐Sublime Text.3: 网上有一些代码分析的网站工具,比如 Sourcegraph。4:你得明白这个作者的开发开源项目的思路,这个项目的大概代码组织,又引用了其他什么开源项目来辅助开发,因为有时候代码里会出现莫名其妙的方法,其实这个可能就是其他的开源项目中定义的方法。5:大家都是程序员,命名规则都很语义化,比如 teacher_name,那很明显里面的实现大概是返回老师的名字,有时不一定要看明白某个方法的实现,暂时知道他大概的用途即可。
■网友
有demo先把demo编出来,有文档先把文档翻出来,对着文档跑demo,对着demo看代码,懂一点就开始试,有问题了问社区。
■网友
如果是用github做版本管理的话(我相信开源都应该是用git吧):* 先git log从最开始的历史看起来,比如看commit message,看具体的commit代码,了解大概的框架;对某个实现感兴趣的话,查看其代码,想知道那代码做了什么的话,反复看,还有用git blame看那代码属于哪个commit,那个commit的commit message是什么;还有一个工具(吐血推荐)——vim的ctags,在上百万行的开源代码里,一层又一层的结构嵌套定义跟宏等,就像用飞雷神一样,随心所欲,无拘无束。以上都是我在开源项目Wine中,里面的中文开发者指导的(谢QianHong)希望对你有帮助。
■网友
我是用xdebug跑出来的流程,一段陌生的代码,打上断点运行,一步一步看着逻辑,变量值……。这个方法绝对有效
■网友
运行后试着使用这个软件,体会到这个软件都有什么功能。然后带着这些疑问从主函数开始看。
■网友
根据个人需要给开源软件加上新的功能,这样就可以从做中学到很多。
■网友
如果有文档,看文档当然是最好的但对于文档资料较少的项目,一般先大致看下目录结构,了解下这个站点的配置\u0026amp;公共调用部分。然后具体看部分页面所调用的文件\u0026amp;方法,是否实现MVC,每个目录\u0026amp;文件大致是实现什么样的功能,其他的就只是纯粹体力活了。


    推荐阅读