2013-10-14 66 views
1

將會從包中得到我想要的類是否會加速編譯過程? 例如,如果在包me.test我有50類新的,我只需要他們兩個,我會做:的import ._ or import。{classOne,classTwo}

import me.test.{ classOne, classTwo} 

代替

import me.test._ 

? 謝謝

+1

刪除'【JAVA]'因爲你似乎沒有想關於Java的答案。 –

+0

可能的重複[通配符導入在增量編譯方面的Scala不好?](http://stackoverflow.com/questions/11291772/is-wildcard-import-bad-in-scala-with-respect-to-incremental -彙編) –

回答

1

我不認爲這會對編譯速度產生顯着影響。

在我看來,您應該根據您想要與該導入進行通信的決定作出決定。

  • 是否要使用整個包?使用import me.test._
  • 您是否想挑選包裝的某些部分?使用import me.test.{ ClassOne, classTwo }
7

雖然對性能的影響是微不足道的,這裏是發生的幾件事情:

  • 代碼規模的增長,類包中的數字將增長。
  • 你不知道Foo來自哪裏。這如果經常出現問題。 Eclipse對於非常大的項目很慢。
  • Open declaration僅適用於在SBT插件的 EclipseKeys.withSourceEclipseKeys.withSource階段中獲取的文件。很多圖書館都沒有。

Twitter Scala Style Guideline幾件事情,在實踐中都非常方便:

  • 排序進口字母,他們是一個更容易直觀地追蹤。
  • 對於超過6個導入的類,只能使用通配符import pkg._
  • 使用import pck.{ Class1, Obj1 }佈局最多6個類。
  • 使用多列進口清晰度