2010-01-06 81 views
5

今天我出于好奇而结束了一些开源项目。所以过了一段时间我在看OTTD的代码(http://www.openttd.org/),我只是不知道从哪里开始寻找或如何理解该项目。我知道你无法在一两天内熟悉这样的大项目,但你们如何处理这样的事情,你在哪里开始寻找什么等等等等。让自己熟悉项目

+0

无论你最终做什么,最好记录你的笔记(建立你运行的命令行,追踪的功能,你有的想法等)。如果你忘记了,它不仅可以帮助你,但你也可以将它们贡献给项目的wiki,或在自己的博客上发布关于您的发现的帖子。 – HostileFork 2010-01-06 20:52:46

回答

1

OpenTTD的源文件:http://docs.openttd.org/,他们会有所帮助。

另外,dev wiki:http://wiki.openttd.org/Development

如何熟悉?

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

然后,从待办事项列表中选取一个错误或其他内容并尝试实施它,或者只是玩游戏并考虑添加/更改简单的内容。当然,你可能会失败,并想改变你的任务,但每一次尝试都将成为理解项目结构的一步。


对我来说,编译部分是最讨厌的部分。我认为这是因为我在Windows上:-)我几乎没有设法从头开始编译一些东西,没有思考和发送垃圾邮件等。但是我很快就习惯了许多不需要编译的项目,比如如用PHP或Python或JavaScript编写。

我只是做了一些代码。改变了一些重要的常量:-)编写插件。随你。有一天,我现在明白了,如果我从问题追踪器中选择几乎任何任务,我至少可以找出问题所在的位置。

如果你只是阅读代码,你不会知道它!即使是(好的)小说也只能通过一次又一次地阅读才能充分理解。

0

很多时候,它有很多时候有很多草稿纸,或某种形式的快速图表工具 - 当你遇到的东西,勾画出他们如何相互关联。随着时间的推移,你会感受到事物的布局以及与什么相互作用的感觉,就像一个专门的类图(但更自由)。

选择一个可以识别的地方:也许这是用户输入处理,也许它是程序的初始化顺序 - 并跟踪从那里执行的流程,以了解事情的发生。

有希望的是,源代码有一些有用的评论 - 甚至在OpenTTD的案例中,doxygen式的评论,所以你可以得到一个不错的set of docs

1
  1. 下载代码。

  2. 将其设置在您最喜爱的IDE中,以便它可以构建和运行。

  3. 在)的主初(

  4. 花一些时间在调试器:)

给你的东西是如何把一个良好的手感步进通过设置断点,依赖关系在哪里,以及在应用程序中执行操作时会发生什么。

1

另一个好的策略是从您使用的某个软件开始,即使是您依赖的软件。然后找到最烦人的错误,并修复它。