混合java和scala代码,使用@BeanProperty是一个好习惯吗?

时间:2013-04-30 10:27:06

标签: java scala

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

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

如果它会访问Scala DTO看起来完全不同,ScalaDTO.property()这意味着对于我的代码的可读性,我需要添加@BeanProperty我的所有Scala属性将由Java代码使用以及在Scala代码中使用?

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

您怎么看?

1 个答案:

答案 0 :(得分:3)

我通常只使用@BeanProperty,而Java样式的getter和setter对于某些遗留Java框架是必需的,例如Spring或Jersey。除了注释本身的混乱之外,你还有一个叫做吸气剂和制定者的混乱。此外,当案例类或其他不可变数据结构通常是首选的Scala方法时,您将需要使用var属性而不是val,尤其是对于类似Dtos的方法。

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