Environnement prérequis:
Non limité à Swift, «éviter la réaffectation à des variables (autant que possible)» est largement compris comme une théorie pour écrire du code sécurisé.
Liens connexes: Pourquoi voulez-vous éviter de réaffecter à des variables
Cependant, en pratique, il est facile de penser que vous devez écrire le code de réaffectation dans le cas où il y a une branche dans l'attribution de la valeur initiale comme indiqué ci-dessous.
Échantillon A
//La variable foo est ""hoge" or "fuga"L'intention est que l'un d'entre eux soit initialisé et ne changera pas après cela. "
var foo = ""
if isHoge {
foo = "hoge"
} else {
foo = "fuga"
}
Le code ci-dessus ne peut pas empêcher la réaffectation à la variable «foo».
Il reste possible que foo
soit mis à une valeur autre que (" hoge "ou" fuga ") quelque part.
Le code ci-dessus peut être amélioré comme suit.
Échantillon B
let foo: String
if isHoge {
foo = "hoge"
} else {
foo = "fuga"
}
** S'il y a un chemin qui n'est pas initialisé, le compilateur fera une erreur **, donc si vous avez l'intention de "définir une fois la valeur initiale et ne pas la réaffecter",
À cet égard, je pense que le code de l'exemple B est plus sûr.