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惯用法来修复它?
如果path可能实际上是 null这可能是最简单的.
require(Option(path).isDefined, "Must have a real Path")
Run Code Online (Sandbox Code Playgroud)
我会保持原样.你并不是真的在这里使用null,只是防范它.替代方法可能是完全删除该行,并决定根本不处理null.忽略null的可能性在一个构建良好的代码库中可能没什么问题,无论如何它都不应该出现而null将是一个bug,但是一个简单的警察来捕获它可以防止出现更多微妙的错误,以防出现问题和null确实发生了.