1

我有一个混合的 Java 和 Scala 代码。

在我的 Java 代码中,我通常DTO's通过他们的dto.getSomething(). 现在我开始介绍新的 Scala 代码,我不希望一些使用旧 DTO 的旧 Java 代码将它们用作getProperty().

如果它会访问一个 ScalaDTO看起来完全不同的含义ScalaDTO.property(),这是否意味着为了我的代码的可读性,我需要添加@BeanProperty到我的所有 Scala 属性中,这些属性将被 Java 代码使用以及在 Scala 代码中使用?

虽然这会解决我的可读性问题,但这会在我的 Scala 代码中引入混乱(@BeanProperty 到所有 Scala 代码,因为它们可能会在我的 Java 代码中使用......)

你怎么看?

4

1 回答 1

3

我通常只在某些遗留 Java 框架(例如 Spring 或 Jersey)需要 Java 样式的 getter 和 setter 的情况下使用 @BeanProperty。除了注释本身的混乱之外,您还有调用 getter 和 setter 的混乱。此外,当案例类或其他不可变数据结构是通常首选的 Scala 方法时,您将需要使用 var 属性而不是 val,尤其是对于 Dtos 之类的方法。

我认为这是个人风格偏好,但由于我更喜欢​​ Scala 的风格和实际好处,例如不变性,我倾向于尝试将混合代码库推向 Scala 惯用语而不是 Java 惯用语。

于 2013-04-30T12:56:09.923 回答