【问题标题】:Play 2.2.1 sub-projects vs sub-packages?玩 2.2.1 子项目 vs 子包?
【发布时间】:2015-04-08 10:04:21
【问题描述】:

我知道我的问题有点奇怪,但我会尽力解释。

我和其他 8 位程序员正在从事同一个项目(2 个团队), 每个团队都有自己的职责,所以我们想为什么不将我们的游戏项目拆分为模块,以便每个团队都可以在他们的模块上工作呢?

在搜索了 play 子项目和 sbt 多项目之后,我们担心这一举措的收益低于设置所有东西的成本(我们已经在我们的基础设施之上构建了一个 play 项目)。

所以我一直在想为什么不将我们的路由文件拆分为多个路由文件,并带有一些如何对应的包?

简而言之,我非常感谢对子项目的好处以及我应该在哪些用例中使用它们进行一些评论,因为我在网上几乎找不到任何东西。

顺便说一句,这是玩 java ,虽然在这种情况下没那么重要..

提前致谢!

【问题讨论】:

    标签: java scala routes sbt playframework-2.2


    【解决方案1】:

    我想到的一些好处:

    • 更快的编译,sbt 可以只编译那些发生变化的模块,如果依赖树允许的话,可以并行编译模块
    • 更快的测试,与编译相同
    • 防止不同部分之间的意外耦合,如果两个子模块 A 和 B 之间没有依赖关系,则不会意外使用 B 中 A 中的类
    • 将事物分离到子项目时:使意外的紧密耦合非常明显(用户到底为什么要依赖 Play 缓存???)
    • 可以使部分代码库与游戏完全解耦,从而可以在任何 Scala 项目中使用它们
    • 未来可以选择让任何子项目成为具有自己生命周期的项目/库,例如,只需编写一次然后几乎不会更改的集成项目可以“发布”到公司存储库中

    【讨论】:

    • 首先,非常感谢您提出的这些观点,我会考虑的。但我实际上需要将现有项目(常规 Play 项目)重构为包含原始项目作为模块的多项目的技术观点。我想听听您的经验的另一件事是将 Play 多项目部署到生产环境。我看到在生产中它为每个子项目创建了 JAR 文件,并且我假设将使用其他的另一个“根”JAR 文件。性能有成本吗?维护 Play 多项目代码有多难,Eclipse IDE 是如何处理的?
    • 构建或部署多模块项目完全没有问题。我不希望根项目只产生聚合,然后有一个单独的子项目,即“最终产品”。我对eclipse一无所知,在Intellij中工作得很好,应该很容易创建一个玩具多模块来在你的环境中测试。
    猜你喜欢
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    相关资源
    最近更新 更多