【发布时间】:2016-03-21 02:20:07
【问题描述】:
我是一个相当新的 Scala 开发人员。我是一位经验丰富的 Java 开发人员,到目前为止,我一直很喜欢 Scala 的简单性。我真的很喜欢函数式结构,而且它们经常迫使你编写更简洁的代码。但是最近我注意到,由于舒适和简单,我最终使用了在 Java 中不一定会使用的结构,实际上会被认为是一种不好的做法,例如
private def convertStringToSourceIds(value: String) : Seq[Integer] = {
Try(value.split(",").toSeq.map(convertToSourceId(_))).getOrElse(Seq())
}
同样的代码sn-p可以写成
private def convertStringToSourceIds(value: String) : Seq[Integer] = {
if(value!=null) value.split(",").toSeq.map(convertToSourceId(_)) else Seq()
}
我的一部分意识到Try/getOrElse 块的设计考虑了Options,但它通常使代码更具可读性并处理您可能错过的情况(当然这并不总是一件好事)。
我很想知道有经验的 Scala 开发人员对此有何看法。
【问题讨论】:
标签: scala