Open source 让自己熟悉项目

Open source 让自己熟悉项目,open-source,projects,Open Source,Projects,今天,出于好奇,我检查了一些开源项目。所以,过了一段时间,我在看OTTD()的代码,我不知道从哪里开始看,也不知道如何理解这个项目。我知道你不可能在一两天内熟悉这么大的项目,但你们是如何处理这些事情的?从哪里开始?你在寻找什么等等。OpenTTD的源文件:,它们会很有帮助 另外,dev wiki: 如何熟悉 首先,尝试编译。将其编译到您的平台,并确保其正确运行 然后,从待办事项列表中找出一个bug或一些东西并尝试实现它,或者只是玩游戏,考虑添加/更改一些简单的东西。当然,你可能会失败并想要改变你

今天,出于好奇,我检查了一些开源项目。所以,过了一段时间,我在看OTTD()的代码,我不知道从哪里开始看,也不知道如何理解这个项目。我知道你不可能在一两天内熟悉这么大的项目,但你们是如何处理这些事情的?从哪里开始?你在寻找什么等等。

OpenTTD的源文件:,它们会很有帮助

另外,dev wiki:

如何熟悉

首先,尝试编译。将其编译到您的平台,并确保其正确运行

然后,从待办事项列表中找出一个bug或一些东西并尝试实现它,或者只是玩游戏,考虑添加/更改一些简单的东西。当然,你可能会失败并想要改变你的任务,但每一次尝试都将是理解项目结构的一个步骤


对我来说,编译部分是最烦人的部分。我想这是因为我在Windows上:-)我几乎从来没有尝试过从零开始编译一些东西,而没有几天的思考和垃圾邮件等。但我很快就习惯了许多不需要编译的项目,比如用PHP、Python或JavaScript编写的项目

我只是用代码做了点什么。更改了一些重要常数:-)编写插件。无论什么有一天我明白了,现在,如果我从“问题追踪器”中选择几乎任何一项任务,我至少能够找到问题所在


如果你只是在读代码,你不会很清楚的!即使是(好的)小说书也不能通过反复阅读来完全理解。

很多时候,拥有大量的草稿纸或某种形式的快速绘图工具是有帮助的——当你遇到事物时,勾勒出它们之间的关系。随着时间的推移,您将了解事物是如何布置的,以及什么与什么交互,有点像一个特殊的类图(但更自由)

选择一个你可以识别的起点:可能这是用户输入处理,可能是程序的初始化序列——然后从那里跟踪执行流程,了解事情是如何发生的

希望源代码中有有用的注释——甚至在OpenTTD中,可能有doxygen风格的注释,这样您就可以得到一个好的注释

  • 下载代码

  • 在您最喜欢的IDE中设置它,以便它可以构建和运行

  • 在main()的开头设置断点

  • 在调试器中花一些高质量的时间逐步执行:)


  • 让您对事物的组合方式、依赖关系以及在应用程序中执行操作时发生的情况有一个良好的感觉。

    另一个好策略是从您使用的某个软件开始,即使是您依赖的软件。然后找出最烦人的bug,并加以修复。

    无论你最终做了什么,最好记录下你的笔记(构建你运行的命令行、你跟踪的功能、你的想法等等),这不仅会帮助你忘记,而且你还可以将它们贡献给项目的wiki,或者在你自己的博客上发表你的发现。