代码之家  ›  专栏  ›  技术社区  ›  slayerIQ

使自己熟悉项目[已完成]

  •  5
  • slayerIQ  · 技术社区  · 16 年前

    今天,出于好奇,我对一些开源项目进行了检查。过了一会儿我在看奥特的密码( http://www.openttd.org/ ),我只是不知道从哪里开始寻找,也不知道如何理解这个项目。我知道你不可能在一两天内熟悉这么大的项目,但你们是如何处理这些事情的,从哪里开始,寻找什么等等。

    4 回复  |  直到 15 年前
        1
  •  1
  •   Valentin Golev    16 年前

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

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

    如何熟悉?

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

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


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

    我刚对密码做了点什么。更改了一些重要的常量:-)编写插件。无论什么。有一天我明白了,如果我从问题跟踪程序中选择几乎任何一个任务,我至少可以找出问题所在。

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

        2
  •  1
  •   Eric Petroelje    16 年前
    1. 下载代码。

    2. 在你最喜欢的ide中设置它,这样它就可以构建和运行了。

    3. 在main()的开头设置断点

    4. 花点时间在调试器中进行调试:)

    给你一个很好的感觉,如何把东西放在一起,依赖关系在哪里,以及当你在应用程序中做事情时会发生什么。

        3
  •  1
  •   Jonathan Feinberg    16 年前

    另一个好的策略是从你使用的软件开始,即使是你依赖的软件。然后找出最讨厌的bug,并修复它。

        4
  •  0
  •   Amber    16 年前

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

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

    希望源代码中有有用的注释——甚至在openttd中,可能还有doxygen风格的注释,这样您就可以得到一个 set of docs 为了它。