Swift:这些情况下 guard 要慎用
可读性更强
如果你想让这个参数有值并使用它,那么就用guard
和if一样属于判读语句,
尽量不要嵌套if语句,
黄金大道
在使用条件语句编程时,代码的左边距应该是一条"黄金"或者"快乐"的大道。也就是说:不要嵌套if语句。
使用多个return可以避免增加循环的复杂度,并提高代码的可读性。因为方法的重要部分没有嵌套在分支里面,并且你可以很清楚地找到相关的代码。
不适合用guard的地方
1、作为if的相反情况时
2、guard的else语句中有复杂代码时
guard的else语句中,不应该放大量的代码,除了简单的提出退出的语句外,如果你在guard的else代码中用了其他的代码逻辑或是实现了任何实际功能,那么你就误用了guard了。
3、不要用guard去代替一些比较复杂的 if else 语句
注:
guard可以帮助我们避免使用显示的 if let 进行解包。
推荐
func someMethod {
if ![someOther.boolValue] {
return
}
// Do something
}
不推荐
func someMethod {
if someOther.boolValue {
// Do something
}
}