¿Es mala la importación de comodines en Scala con respecto a la compilación incremental?
wildcard incremental-compiler (1)
Hay un pequeño impacto, pero probablemente no lo notará. El impacto es que cuando hay una referencia al símbolo "Foo" el compilador debe resolver "Foo" en un nombre completamente calificado. El alcance de donde se puede buscar "Foo" se ve afectado por las importaciones de comodines. Pero todo se hace en la memoria y es casi seguro que no notará diferencias tan pequeñas en la velocidad de resolución a menos que tenga algo loco como miles de clases en un solo paquete.
Aparte de eso, no hay impacto. Si importa pack._ y alguna clase arbitraria en pack._ que no dependa de los cambios, entonces su archivo no tendrá que volver a compilarse.
En Scala, ¿es malo, desde el punto de vista de la eficacia y la velocidad de los compiladores incrementales (sbt, sbt en Eclipse, IntelliJ), usar importaciones de comodines? ¿Afecta de manera adversa la forma en que estos compiladores incrementales deciden qué recompilar en caso de cambios?
Por ejemplo, si para una nueva clase X
, solo necesitaría importar las clases A
y B
(y no C
) del paquete de pack
, obtengo una multa por escribir esto:
import pack._
¿en lugar de esto?
import pack.{ A, B }
Suponiendo que A
y B
no dependen de C
, X
volvería a compilar con la importación de comodines y no con la importación más específica cuando C
cambie, o el sistema de seguimiento de dependencias sería lo suficientemente inteligente como para darse cuenta de que C
no usa C
pesar de los comodines ¿importar?