改善编译时间

通过遵循一些指南可以提高编译速度,这些是很好的工程实践:

使用 子项目/模块化

除了模块化的其它好处之外,这有点像增量编译。它最小化了cycles的大小, 使相互依赖性明确, 并在需要时允许你处理代码的一个子集。它也允许sbt 并行编译独立的模块。

注释公共方法的返回类型

这让编译更快,因为它减少了需要的类型推断,并且对来自于跨源文件范围推断的增量编译的情况可提高精度。

避免源文件之间的大Cycles

Cycles 往往会导致更大的重新编译 和/或 更多步骤。在 sbt 0.13.0+ (Play 2.2+), 这不是个问题。

减少继承

在源文件中一个公共API的更改通常需要重新编译所有的后代。