首页 > 解决方案 > 调用对象的方法时,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)

我想知道哪一种更好,或者这两种风格之间,它们是相同的,我们可以选择任何我们喜欢的。

标签: scala

解决方案


我更喜欢风格 2,特别是如果对象的名称很短。如果你有一个更长的名字,你也可以添加一个替换,比如:$

import com.socgen.bsc.sqd.per.{LongComplexLoad => LCL}
val pAndRDf: DataFrame = LCL.loadPandR(sqdDate)

如果我能控制的话,我通常会做另一种风格。也就是用traits代替objects。

class MyClass extends Load {

   val pAndRDf: DataFrame = loadPandR(sqdDate)
   ...
}

这样做的好处是您可以看到您在类描述中使用的内容。如果列表太长,这也表明您可能会考虑关注点分离

Reddit上也有关于这个的讨论


推荐阅读