Java代码理解

时间:2012-01-04 21:41:34

标签: java

嗨我对编程有点新意,最近我得到了一段我必须了解的用Java编写的垄断游戏的代码。

我从未试图理解别人的代码,所以我自然不知道从哪里开始。

我的老板在理解了代码之后问我,并且它的功能是重现它.Easier说完了,因为游戏有大约3000行代码。

我试图从主课开始,但这似乎让我无处可去,因为我一直被送到十几个不同的班级。

我想问的是,是否有一个软件可以显示游戏开启期间运行的代码片段。

如果这样的软件不存在,你们在代码中的哪个地方建议我开始,你能给我什么提示让它顺利进行?

7 个答案:

答案 0 :(得分:5)

是的,您正在寻找大多数IDE提供的调试器。他们会让你一次一行地运行代码并“看看会发生什么”。

答案 1 :(得分:4)

我的建议是,您了解Java编程语言以及典型Java应用程序的结构,编译和部署方式。获得一本好的Java书(想想 Effective Java )并开始学习!

答案 2 :(得分:3)

只需阅读代码即可。 3000行真的很少。从上到下阅读,如果有外国课程,请按CTRL +点击它,然后从上到下阅读,然后点击ALT + LEFT,它会带你回到上一个(主要)课程。

或者您可以在(例如)NetBeans中创建UML图。

或者逐步调试代码以查看它的运行位置。

但它让我感到烦恼......你怎么会有老板 - 因此有工作 - 作为程序员,如果你不知道调试器是什么?

答案 3 :(得分:2)

首先阅读类和方法的javadoc注释。尝试了解每个类在应用程序中的作用。类和方法应该有有意义的名称(播放器,位置,骰子,等等)。然后从main方法开始,看看它的作用。

垄断游戏必须有某种循环,并且在每次迭代时,下一个玩家改变其位置,执行一些动作,这会改变游戏的状态。

答案 4 :(得分:0)

我认为这个软件存在......它通常被称为IDE ...运行或更好说...调试代码...设置断点并逐步运行代码。

答案 5 :(得分:0)

此外,您还可以查看应用程序的UML。更好的IDE允许您查看您正在使用的图表。 NetBeans过去常常让你这样做,不确定是否可以使用最新版本。

答案 6 :(得分:0)

如果可能的话,可以使用应用程序来确保您对它正在做什么以及某些概念有所了解。 (例如,哦,它有玩家的概念,有钱,董事会和房地产。有一些骰子的东西。玩家可以买房地产。然后卖掉它。抵押它。并用它来向其他玩家收取租金等。)

如果你很幸运,代码将写得干净利落,并且b)有足够的(和有用的!)评论。如果你真的很幸运,他们会javadoc发表评论。

在通过调试器进入并查看代码之前,值得花一些时间熟悉所有部分如何组合在一起。特别是查看任何对象及其之间的关系以及它们代表的内容。 即使没有javadoc评论,我也建议您在代码上运行doxygen(加上dot)等工具。这可以提供易于导航的类图,以帮助您感受碎片。 (其他人在此提到Netbeans将生成适合的UML类图)

一旦理解了类之间的关系,您就可以开始尝试理解代码的实际工作方式。使用IDE的导航功能或doxygen文档,无论哪种方式最适合您。任何时候你花时间与你的工具争论都会分散你试图理解你正在阅读的内容。

只有在您理解了代码之后,才能使用调试器获得任何有意义的信息。希望你会发现你根本不需要它。