Scala允许随时随地导入任何你想要的东西,这很棒.但是,在类,方法或任何块中导入内容时,我是否应该考虑任何因素?它与性能,样式,代码的可维护性等有何关系?
一般来说,我试图遵守这些规则(由我自己组成):
这些"规则"对你有意义吗?我限制自己太多了吗?
oxb*_*kes 12
通常有必要将某些东西(例如变量或方法)的范围限制为"最小".例如,使用内部def而不是类级别的内部def.为什么导入语句应该有所不同?为什么要使用仅在单个块中使用的导入来污染类?
我想声明导入尽可能接近它们的使用位置!
这样做的结果是常见的实用程序,包括scalaz和我自己的库,往往会在顶层导入一次(因为它们在整个类中使用).而像I/O这样的东西会在本地导入,而只在它被使用的地方导入