Le guide de style actuel est clair concernant l'utilisation guard
au lieu d'imbriquer if
, mais il pourrait montrer un exemple où if
devrait être utilisé au lieu de guard
, alias où il n'y a pas de déballage des options nécessaires :
if !success { return false }
guard success else { return false }
Mieux décrit ici : https://www.natashatherobot.com/swift-when-to-use-guard-vs-if/
Je dirais presque que la section Failing Guards couvre ceci :
Guard statements are required to exit in some way.
... ou comme le dit le blog de Natasha :
think of guard as a lightweight Assert
Vous devez donc faire :
guard success else { return false }
L'avantage du guard
ici est que le compilateur garantira la sortie. Exemple:
// This compiles fine and a bug risks going unnoticed
if !success {
// Some code here
// Forgot the return statement
}
// Compiler error, you are required to return and the bug is prevented
guard success else {
// Some code here
// Forgot the return statement
}
@RobertGummesson donc votre règle de base serait que - même si vous n'avez pas besoin de déballer les options - vous utiliseriez guard
sur if
si vous rencontrez un échec qui nécessite de quitter. Correct?
@agirault - Oui, soit cela, soit vous avez simplement besoin de quitter (que ce soit ou non en raison d'un échec).
Commentaire le plus utile
Je dirais presque que la section Failing Guards couvre ceci :
Guard statements are required to exit in some way.
... ou comme le dit le blog de Natasha :
think of guard as a lightweight Assert
Vous devez donc faire :
L'avantage du
guard
ici est que le compilateur garantira la sortie. Exemple: