首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala项目打包的最佳实践?

Scala项目打包的最佳实践?
EN

Software Engineering用户
提问于 2015-04-17 00:23:19
回答 2查看 2.5K关注 0票数 3

Scala在JVM上运行,但这并不意味着我们必须像Java一样编写它。Eclipse不鼓励使用默认包。确定应该如何在Scala中打包代码的考虑因素(例如项目的大小)是什么?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2015-04-17 03:39:53

根据风格指南,Scala包的最佳实践通常与Java约定相同。

代码语言:javascript
复制
// wrong!
package coolness
// right!
package com.novell.coolness
// right, for package object com.novell.coolness
package com.novell
/**
 * Provides classes related to coolness
 */
package object coolness {
}
票数 3
EN

Software Engineering用户

发布于 2015-04-17 05:58:21

JVM上的包有一个非常重要的任务--为所有类提供一个全局唯一的命名空间。无论是用Scala编写代码,还是用Java或Clojure编写代码,最终都会编译成.class文件或JAR归档文件。请注意,Scala不是反Java的,相反,与Java的互操作性是主要的设计目标。

因此,包命名约定不仅适用于Java,而且本质上适用于运行在JVM上并希望与Java进行互操作的任何东西。使用域名系统作为包名的基础,可以方便地为代码注册一个全局唯一的命名空间。

我已经用足够多的语言编写了代码,这些语言没有类似的约定,而且经常出现的名称冲突是非常令人讨厌的。谁会猜到两个项目会同时发布一个和唯一的template系统?显然,没有其他人能够编写更好的http客户端。特别是,C++、Python和NodeJS中的约定并不令人满意,而Java却出人意料地正确地做到了这一点。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/279359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档