Swift-style-guide: si vs garde

Créé le 25 oct. 2018  ·  3Commentaires  ·  Source: raywenderlich/swift-style-guide

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 :

Préféré:

if !success { return false }

Pas préféré :

guard success else { return false }

Mieux décrit ici : https://www.natashatherobot.com/swift-when-to-use-guard-vs-if/

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 :

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
}

Tous les 3 commentaires

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).

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

sima-11 picture sima-11  ·  5Commentaires

fabienwarniez picture fabienwarniez  ·  9Commentaires

aramezk picture aramezk  ·  9Commentaires

jrturton picture jrturton  ·  3Commentaires

icanzilb picture icanzilb  ·  6Commentaires