【发布时间】:2014-05-05 19:54:10
【问题描述】:
我正在通过 coursera 上的函数式编程课程做 scala。我注意到自动样式检查器告诉我使用“return”是一个坏习惯。这是为什么?对我来说,使用 return 似乎会使代码更具可读性,因为任何其他程序员都可以立即看到它以及函数返回的内容。
例如,为什么会这样;
def sum(xs: List[Int]): Int = {
if( xs.length == 0){
return 0
}else{
return xs.head + sum(xs.tail)
}
}
被认为比这更糟;
def sum(xs: List[Int]): Int = {
if( xs.length == 0){
0
}else{
xs.head + sum(xs.tail)
}
}
我习惯了 javascript,所以这可能是我对它感到不安的一个原因。尽管如此,任何人都可以清楚为什么添加 return 语句会使我的代码变得更糟吗?如果是这样,为什么语言中有 return 语句?
【问题讨论】:
-
最简单的答案是你不应该使用return。和往常一样,我想指出,您的代码中没有一个花括号是必需的,如果是我的代码,它们将被省略。
-
@RandallSchulz 伟大的思想!我还建议使用模式匹配而不是
if...else。 (见我的回答)
标签: scala code-cleanup