【发布时间】:2014-08-20 17:00:34
【问题描述】:
这是我自己写的一个成语。
def chooseName(nameFinder: NameFinder) = {
if(nameFinder.getReliableName.isEmpty) nameFinder.getReliableName
else nameFinder.secondBestChoice
}
为了避免在nameFinder 上调用getReliableName() 两次,我添加了使我的方法看起来不那么优雅的代码。
def chooseName(nameFinder: NameFinder) = {
val reliableName = nameFinder.getReliableName()
val secondBestChoice = nameFinder.getSecondBestChoice()
if(reliableName.isEmpty) reliableName
else secondBestChoice
}
这感觉很脏,因为我使用vals 创建了不必要的状态,除了防止重复的方法调用之外没有其他原因。 Scala 教会了我,每当我感到肮脏时,几乎总有更好的方法。
有没有更优雅的写法?
Here's two Strings, return whichever isn't empty while favoring the first
【问题讨论】:
-
我知道你可能以前听说过这个,但是对方法调用进行优化是相当极端的。
-
可能是数据库调用或其他什么。
标签: scala