2013-04-30 98 views
1

我有一個混合的Java和Scala代碼。混合java和scala代碼,使用@BeanProperty是否是一個好習慣?

在我的Java代碼中,我通常通過dto.getSomething()訪問DTO's。現在我開始介紹新的Scala代碼,我不希望一些使用舊DTO的舊Java代碼將它們用作getProperty()

如果將訪問斯卡拉DTO看起來完全不同的意義ScalaDTO.property()這是否意味着對我的代碼可讀性我需要添加@BeanProperty所有這將在Java代碼中使用我的斯卡拉性能以及在Scala代碼中使用?

雖然這樣就解決了我的可讀性問題,這會引入混亂到我的Scala代碼(@BeanProperty所有Scala代碼,因爲他們可能在我的Java代碼中習慣......)

你覺得呢?

回答

3

我一般只使用@BeanProperty,其中Java風格的getter和setter是一些遺留Java框架(例如Spring或Jersey)所必需的。除了註釋本身的混亂之外,你有調用getter和setter的混亂。此外,當case類或其他不可變數據結構是通常首選的Scala方法時,您將需要使用var屬性而不是val,特別是對於像Dtos這樣的類。我認爲這是一種個人風格的偏好,但是因爲我更喜歡Scala的風格以及它的實際好處,例如不變性,我傾向於嘗試將混合代碼基礎推向Scala成語,而不是Java成語。

相關問題