Scala避免使用null

rai*_*tin 7 scala idiomatic preconditions codacy

我在github上有一个通过编码进行分析的项目.分析建议对以下代码行使用"避免使用null":

def doSomethingWithPath(path:Path) = {
    require(path != null, "Path should not be null") //<-to avoid
    ...
}
Run Code Online (Sandbox Code Playgroud)

什么是最简单的scala惯用法来修复它?

jwv*_*wvh 6

如果path可能实际上 null这可能是最简单的.

require(Option(path).isDefined, "Must have a real Path")
Run Code Online (Sandbox Code Playgroud)


puh*_*len 5

我会保持原样.你并不是真的在这里使用null,只是防范它.替代方法可能是完全删除该行,并决定根本不处理null.忽略null的可能性在一个构建良好的代码库中可能没什么问题,无论如何它都不应该出现而null将是一个bug,但是一个简单的警察来捕获它可以防止出现更多微妙的错误,以防出现问题和null确实发生了.