W Scala, czy jest źle, z punktu widzenia skuteczności i szybkości kompilatorów przyrostowych (sbt, sbt w Eclipse, IntelliJ), do korzystania z importu symboli wieloznacznych? Czy ma to niekorzystny wpływ na sposób, w jaki te przyrostowe kompilatory decydują, które rekompilować w przypadku zmian?Czy wildcard import bad in Scala w odniesieniu do kompilacji przyrostowej?
Na przykład, jeśli dla nowej klasy X
, musiałbym tylko importowanie klas A
i B
(a nie C
) z pakietem pack
, mogę dostać karę za pisanie to:
import pack._
zamiast tego?
import pack.{ A, B }
Zakładając A
i B
nie mają zależność C
, by X
rekompilacji z importu wieloznacznym, a nie z bardziej konkretnym przywozowych C
zmian, czy też system śledzenia zależności być na tyle silny, aby uświadomić sobie, że C
jest nie jest używany przez X
pomimo importu wieloznacznego?
Nie trzeba ** rekompilować, ale czy rzeczywiście nie zostanie zrekompilowany? Na przykład za pomocą bieżącej wersji sbt? Częściej niż nie, odnoszę wrażenie, że wiele rzeczy jest rekompilowanych. –
Nie. Scala sprawia, że analiza zależności jest skomplikowana, ale nie z powodu importu symboli wieloznacznych. –
OK, więc nadzieja na skrócenie czasu kompilacji poprzez reorganizację importu doprowadzi do nikąd. –