gpt4 book ai didi

scala - 关于增量编译,Scala 中的通配符导入是否不好?

转载 作者:行者123 更新时间:2023-12-01 16:37:05 25 4
gpt4 key购买 nike

在 Scala 中,从增量编译器(sbt、Eclipse 中的 sbt、IntelliJ)的效率和速度的角度来看,使用通配符导入是不是很糟糕?它是否会对这些增量编译器决定在发生更改时重新编译的方式产生不利影响?

例如,如果对于一个新类 X ,我只需要导入类 AB (而不是 C )来自包 pack ,我会因为写这个而受到惩罚吗:

import pack._

而不是这个?
import pack.{ A, B }

假设 AB不依赖于 C , 会 X使用通配符导入重新编译,而不是在 C 时使用更具体的导入重新编译更改,或者依赖性跟踪系统是否足够智能以意识到 C X 不使用尽管通配符导入?

最佳答案

有一个微小的影响,但您可能不会注意到它。影响是,当引用符号“Foo”时,编译器必须将“Foo”解析为完全限定名称。它可以查找“Foo”的范围受通配符导入的影响。但这一切都是在内存中完成的,您几乎肯定不会注意到解析速度上如此微小的差异,除非您在一个包中有数千个类之类的疯狂内容。

除此之外,没有任何影响。如果您导入 pack._ 和 pack._ 中的一些任意类,您不依赖更改,那么您的文件将不必重新编译。

关于scala - 关于增量编译,Scala 中的通配符导入是否不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com