为什么我需要这样的领域

时间:2016-10-27 08:16:33

标签: scala

case class AlertWindowDto(id: String)

protected val InitialWindowPeriodOneOnPeak = AlertWindowDto(ValidId)

protected val ValidId = "someSite"

我在不同的不同类中看到了这些行。只是我把它放在一起理解。

一般情况下,如果我正在创建一个虚拟或类的某个对象,那么我给出一些值或null或空字符串。需要创建另一个字段ValidId并分配一些值并将该字段分配给最终对象。

在测试用例中是否有任何好处或任何帮助。

你能帮帮我吗。

1 个答案:

答案 0 :(得分:3)

想象一下:

protected val InitialWindowPeriodOneOnPeak = AlertWindowDto("someSite")

是否传达了"someSite"是警报窗口的有效ID的信息?

这是一个微不足道的例子,但一般的想法是,有时打破表达式并为它们指定名称对于表达意义非常有用。

我还要补充一点,这种命名信息在类型中越多越好。例如,这是实现相同结果的另一种方法,而不使用变量名。

case class ValidId(value: String) extends AnyVal
case class AlertWindowDto(id: ValidId)
protected val InitialWindowPeriodOneOnPeak = AlertWindowDto(ValidId("someSite"))

相同的信息,但“有效ID”信息现在存储在类型系统中。