今天我出于好奇而结束了一些开源项目。所以过了一段时间我在看OTTD的代码(http://www.openttd.org/),我只是不知道从哪里开始寻找或如何理解该项目。我知道你无法在一两天内熟悉这样的大项目,但你们如何处理这样的事情,你在哪里开始寻找什么等等等等。让自己熟悉项目
让自己熟悉项目
回答
OpenTTD的源文件:http://docs.openttd.org/,他们会有所帮助。
另外,dev wiki:http://wiki.openttd.org/Development。
如何熟悉?
首先,尝试编译。将其编译到您的平台并确保其正确运行。
然后,从待办事项列表中选取一个错误或其他内容并尝试实施它,或者只是玩游戏并考虑添加/更改简单的内容。当然,你可能会失败,并想改变你的任务,但每一次尝试都将成为理解项目结构的一步。
对我来说,编译部分是最讨厌的部分。我认为这是因为我在Windows上:-)我几乎没有设法从头开始编译一些东西,没有思考和发送垃圾邮件等。但是我很快就习惯了许多不需要编译的项目,比如如用PHP或Python或JavaScript编写。
我只是做了一些代码。改变了一些重要的常量:-)编写插件。随你。有一天,我现在明白了,如果我从问题追踪器中选择几乎任何任务,我至少可以找出问题所在的位置。
如果你只是阅读代码,你不会知道它!即使是(好的)小说也只能通过一次又一次地阅读才能充分理解。
很多时候,它有很多时候有很多草稿纸,或某种形式的快速图表工具 - 当你遇到的东西,勾画出他们如何相互关联。随着时间的推移,你会感受到事物的布局以及与什么相互作用的感觉,就像一个专门的类图(但更自由)。
选择一个可以识别的地方:也许这是用户输入处理,也许它是程序的初始化顺序 - 并跟踪从那里执行的流程,以了解事情的发生。
有希望的是,源代码有一些有用的评论 - 甚至在OpenTTD的案例中,doxygen式的评论,所以你可以得到一个不错的set of docs。
下载代码。
将其设置在您最喜爱的IDE中,以便它可以构建和运行。
在)的主初(
花一些时间在调试器:)
给你的东西是如何把一个良好的手感步进通过设置断点,依赖关系在哪里,以及在应用程序中执行操作时会发生什么。
另一个好的策略是从您使用的某个软件开始,即使是您依赖的软件。然后找到最烦人的错误,并修复它。
- 1. 思路玩具项目,这在自己熟悉可可和可可触摸
- 2. 熟悉XAMPP
- 3. 不熟悉语法
- 4. 不熟悉语法
- 5. 熟悉Visual Studio 2010
- 6. 不熟悉的错误
- 7. GPars语法不熟悉
- 8. 不熟悉的Javascript语法
- 9. IllegalThreadStateException?不熟悉线程
- 10. 不熟悉的C语法?
- 11. 不熟悉的符号[=]在C++
- 12. 任何熟悉PHP源代码的人?
- 13. SQL语句中不熟悉的字符
- 14. JQuery - 不熟悉的表示法
- 15. 不熟悉shell语法安装脚本
- 16. 有没有人熟悉Plurk API?
- 17. 不熟悉C++指针,需要帮助
- 18. 不熟悉的语法在JavaScript对象
- 19. 不熟悉JavaScript语法/破解
- 20. 逐渐熟悉新的代码库
- 21. R:算我比较熟悉Python出现
- 22. printf的在不熟悉的方式
- 23. 面试问题:您是否熟悉linux?
- 24. cpp mysql InvalidArgumentException /任何熟悉SQLString的人?
- 25. Ipad新手,熟悉SQL,如何开始
- 26. 是否有人熟悉Bamboo Sharepoint产品?
- 27. 是否有人熟悉TEXT.IX文件?
- 28. 用于更熟悉Struts 1(用于传统项目)的良好资源
- 29. 根据自己的项目
- 30. GitHub:让叉子成为“自己的项目”
无论你最终做什么,最好记录你的笔记(建立你运行的命令行,追踪的功能,你有的想法等)。如果你忘记了,它不仅可以帮助你,但你也可以将它们贡献给项目的wiki,或在自己的博客上发布关于您的发现的帖子。 – HostileFork 2010-01-06 20:52:46