组织Java代码的最佳方法...多个项目或按包分开?

cod*_*ugh 4 java eclipse packages project game-engine

我将要在eclipse上进行一个个人JAVA项目,在那里我和朋友将创建一个游戏服务器,游戏引擎以及一个基于现有纸牌游戏的游戏。游戏服务器将排在最后,但现在我想集中精力构建纸牌游戏引擎,然后再开发游戏本身。

在学校里,我们只创建像这样的包gameEngine.whatever,然后将不同的游戏放在像这样的包中game.gameName.whatever。我当时想让游戏引擎成为自己的独立项目,然后让游戏也成为一个单独的项目,而不是像在学校那样将它们全部放在一个项目中并根据软件包将它们分开。在我的实习中,我们有多个项目协同工作,但根本没有在课堂上谈到。

一种方法与另一种方法有什么区别吗?还是它们基本相等?谢谢!

小智 5

如果我正确理解了您的情况,那么此时您不必担心代码组织。当然,有些项目的前期情况很清楚。在许多情况下,情况并非如此。

就您而言,在开始实施事情时,您将对采取的方向和组织更加清楚。使用诸如eclipse之类的IDE的一个优势是,您可以在以后重构代码(包或什至在项目之间移动包/类)。对于eclipse,代码不仅是文件/目录。它正在查看语法分析树,因此可以让您安全地移动很多细小的东西-在程序包或项目中移动代码是它可以执行的最琐碎的事情。

只需专注于您必须做的事情,并尝试在实际工作中取得进展。如果您需要担心多个项目,那么您将知道何时该去。我建议从以下开始:

  • 现在创建一个项目。首先找到一个标准且唯一的包前缀。假设您决定使用“ org.abc”之类的东西(只是一个不好的例子)

  • 现在开始处理您的项目。当您继续添加类时,请集中精力进行明智的打包。继续添加软件包。例如..

    • org.abc.game.engine

    • org.abc.game.util

    • org.abc.game.games.mario

    • org.abc.game.engine.phy

    • org.abc.game.server

    • org.abc.game.common

    • ...

一段时间后,您可以创建新项目。例如,您可以决定

  • 将当前项目称为GameMario

  • 将带有某些文件的整个org.abc.game.common和org.abc.game.util移动到名为GameCommon的项目中。同一包可以在两个项目中存在(并且在许多情况下存在)

  • 将org.abc.game.engine,org.abc.game.server及其所有子包移至新项目GameServer,并继续在该项目中添加游戏服务器代码

  • 无论GameMario游戏服务器将有一个项目依赖GameCommon


adi*_*tsu 3

我想说,如果“X”可以单独使用,或者有(或可能)至少有 2 个不同的项目使用“X”,那么您应该为“X”创建一个单独的项目。否则,一个包就可以了。