[SWIFT] Je suis toujours épuisé par les déclarations if redondantes! ?? Écrivez l'instruction if comme ceci

Bonjour. J'étais mort d'une maladie et guéri avec EVE J'écrirai un article.

Il y a une instruction "if" dans la syntaxe indispensable à la programmation, Vous écrivez de manière redondante? Regardons en arrière. Lors du refactoring, Remarquer qu'il existe une instruction if qui peut être écrite plus intelligemment N'y a-t-il pas plusieurs fois?

Maintenant, je voudrais présenter des modèles redondants et des modèles intelligents.

true == true C'est une condition que les débutants ont tendance à faire. Dans l'instruction if, le jugement est vrai / faux par défaut, donc si vous écrivez == vrai true == true == true Cela aura un sens comme. Bien sûr, j'aimerais écrire si c'est vrai {}.

if true {
}

ne pas utiliser d'autre

if 100 >= 50 {
} else if 100 < 50 {
}
>>
if 100 >= 50 {
} else {
}

C'est assez facile à décrire, mais quand il s'agit de conditions compliquées Vous pouvez voir des instructions if qui ont des descriptions similaires.

Exemple d'expression conditionnelle

Neuf balles avec un seul poids lourd, Comment puis-je savoir le moins de fois possible quand je veux le savoir en pesant? Vous pouvez le dire en deux fois, mais combien de fois l'avez-vous fait?

if left(3) > right(3) {
  if left(1) > right(1) {
    //Distinguable
  }
} else {
  if left(1) > right(1) {
    //Distinguable
  }
}

La motivation ici est de vous faire penser que ** tout doit être inclus dans l'expression conditionnelle . Neuf balles ne doivent pas être toutes pesées. "Trois à mettre à gauche" "Trois à mettre à droite" " Trois à ne pas mettre **" En fait, l'existence de ces ** trois choses qui ne peuvent pas être mises ** est importante pour écrire des expressions conditionnelles intelligentes. Elle peut être identifiée comme une cible de comparaison sans la peser.

N'ose pas utiliser autrement si

Pour les modèles qui n'utilisent pas else if ・ Lorsque vous souhaitez améliorer la lisibilité ・ Lorsque vous utilisez simplement else if comme expression conditionnelle, ce n'est pas bon il y a.

Lorsque vous souhaitez améliorer la lisibilité

if A == A {
} else if B == B {
}
>>
if A == A {
} else {
  if B == B {
  }
}

Je ne pouvais pas penser à un modèle approprié, Dans certains cas, il peut être plus facile d'écrire une instruction if dans else au lieu de else if.

When else if ne peut tout simplement pas être utilisé comme expression conditionnelle

//Lors de la lecture d'AorBorC
if A == A {
} else if B == B {
}
>> //Je ne peux pas attraper C
if A == A {
} else {
  if B == B {
    //Traitement que vous souhaitez ajouter uniquement à B
  }
  //Traitement commun
}

N'écrivez pas le contenu de else avec if

if A == A {
}
if B == B {
}
if C == C {
}

Lors de la lecture d'AorBorC, il n'est pas recommandé d'écrire 3 ifs comme celui-ci. La raison est ** parce qu'un traitement supplémentaire s'exécute **. En écrivant d'autres conditions dans l'instruction else, le traitement suivant ne s'exécutera pas lorsqu'une correspondance est établie. Cependant, en rendant l'instruction if indépendante, même si la lisibilité est améliorée. ** Les performances ** chuteront. Je ne veux pas que l'ordinateur effectue un traitement supplémentaire.

en conclusion

Qu'as-tu pensé? Parmi ceux-ci, celui que je voulais que vous incorporiez le plus ** Exemple d'expression conditionnelle du poids ** est. Si vous pouvez maîtriser cela, l'expression conditionnelle sera assez intelligente. Je suis heureux que vous puissiez l'utiliser comme référence.

Recommended Posts

Je suis toujours épuisé par les déclarations if redondantes! ?? Écrivez l'instruction if comme ceci
Comment écrire une instruction if pour améliorer la lisibilité-java
[Ruby] problème avec l'instruction if