让自己熟悉项目

时间:2010-01-06 20:35:35

标签: open-source projects

今天,我出于好奇而结账了一些开源项目。所以过了一会儿我正在查看OTTD的代码(http://www.openttd.org/),我只是不知道从哪里开始寻找或如何理解该项目。我知道你不可能在一两天内熟悉这些大型项目,但是你们如何处理这些事情你们从哪里开始寻找等等的东西......

4 个答案:

答案 0 :(得分:1)

OpenTTD来源的文档:http://docs.openttd.org/,它们会很有帮助。

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

如何熟悉?

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

然后,从待办事项列表中挑选一个bug或其他内容并尝试实现它,或者只是玩游戏并考虑添加/更改简单的内容。当然,您可能会失败并希望更改您的任务,但每次尝试都将是了解项目结构的一步。


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

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

如果您只是阅读代码,那么您将无法理解它!即使(好的)小说书也不能通过一次又一次地阅读来完全理解。

答案 1 :(得分:1)

  1. 下载代码。

  2. 在您喜欢的IDE中进行设置,以便构建并运行。

  3. 在main()

  4. 的开头设置断点
  5. 在调试器中花费一些高质量的时间:)

  6. 让您对事物的组合方式,依赖关系的位置以及在应用程序中执行操作时会发生什么感到很好。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

很多时候,有很多草稿纸或某种形式的快速图表工具很有用 - 当你遇到事物时,勾勒出它们彼此之间的关系。随着时间的推移,您将了解事物的布局以及与事物的交互方式,有点像特殊的类图(但更多的是自由形式)。

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

希望源代码有一些有用的评论 - 甚至可能在OpenTTD的情况下,还有doxygen风格的评论,所以你可以得到一个很好的set of docs

相关问题