scala - 调用对象的方法时,scala的良好代码样式是什么
问题描述
从对象调用方法时,我不知道如何在 scala 项目的两种代码样式之间进行选择。
代码风格1
import com.socgen.bsc.sqd.per.Load._
val pAndRDf: DataFrame = loadPandR(sqdDate)
代码风格 2
import com.socgen.bsc.sqd.per.Load
val pAndRDf: DataFrame = Load.loadPandR(sqdDate)
我想知道哪一种更好,或者这两种风格之间,它们是相同的,我们可以选择任何我们喜欢的。
解决方案
我更喜欢风格 2,特别是如果对象的名称很短。如果你有一个更长的名字,你也可以添加一个替换,比如:$
import com.socgen.bsc.sqd.per.{LongComplexLoad => LCL}
val pAndRDf: DataFrame = LCL.loadPandR(sqdDate)
如果我能控制的话,我通常会做另一种风格。也就是用trait
s代替object
s。
class MyClass extends Load {
val pAndRDf: DataFrame = loadPandR(sqdDate)
...
}
这样做的好处是您可以看到您在类描述中使用的内容。如果列表太长,这也表明您可能会考虑关注点分离。
Reddit上也有关于这个的讨论
推荐阅读
- web - 在 github 部署上呈现未格式化的 Blogdown 网站
- python - 使用 python 将资产(csv 文件)上传到 watson studio 项目
- php - 私人频道上的 laravel 广播不适用于 laravel-echo 和 laravel-websockets
- primefaces - Primefaces 7不在数据表标题中显示换行符
- python - 如何在pygame中移动网格的位置
- android - 如何在 Android Cardboard SDK 上播放 360 度视频
- hdfs - 将 nifi 摄取到 hdfs 到单个目录
- sql - UNION 不会删除结果中的重复项
- flutter - 显示匹配的 id,颤动
- jmeter - 如何在jmeter录制和回放中保存cookies