Swift:這些情況下 guard 要慎用
可讀性更強
如果你想讓這個參數(shù)有值并使用它职抡,那么就用guard
和if一樣屬于判讀語句,
盡量不要嵌套if語句误甚,
黃金大道
在使用條件語句編程時缚甩,代碼的左邊距應(yīng)該是一條"黃金"或者"快樂"的大道谱净。也就是說:不要嵌套if語句。
使用多個return可以避免增加循環(huán)的復(fù)雜度擅威,并提高代碼的可讀性壕探。因為方法的重要部分沒有嵌套在分支里面,并且你可以很清楚地找到相關(guān)的代碼郊丛。
不適合用guard的地方
1李请、作為if的相反情況時
2、guard的else語句中有復(fù)雜代碼時
guard的else語句中厉熟,不應(yīng)該放大量的代碼导盅,除了簡單的提出退出的語句外,如果你在guard的else代碼中用了其他的代碼邏輯或是實現(xiàn)了任何實際功能揍瑟,那么你就誤用了guard了认轨。
3、不要用guard去代替一些比較復(fù)雜的 if else 語句
注:
guard可以幫助我們避免使用顯示的 if let 進(jìn)行解包月培。
推薦
func someMethod {
if ![someOther.boolValue] {
return
}
// Do something
}
不推薦
func someMethod {
if someOther.boolValue {
// Do something
}
}