Éviter les ternaires imbriqués
Conservez une logique conditionnelle lisible et facile à maintenir.
Éviter les ternaires imbriqués est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.
Quand les ternaires sont utiles
Un seul ternaire est propre et lisible pour un choix simple entre deux possibilités. Les difficultés commencent lorsque vous imbriquez un ternaire dans un autre.
let temp = 10
let label = temp < 0 ? "Freezing" : "Above zero"
print(label)Un ternaire imbriqué
Vous pouvez imbriquer des ternaires pour gérer plus de deux cas, mais le résultat devient rapidement difficile à lire.
let score = 75
let grade = score >= 90 ? "A" : score >= 80 ? "B" : score >= 70 ? "C" : "F"
print(grade)Pourquoi l’imbrication pose problème
Les ternaires imbriqués obligent le lecteur à suivre mentalement les deux-points associés à chaque point d’interrogation. Une petite erreur modifie silencieusement le comportement.
Préférez la clarté à l’ingéniosité.
let value = 5
let text = value > 0 ? "positive" : value < 0 ? "negative" : "zero"
print(text)Refactoriser avec if/sinon si
La même décision à plusieurs possibilités se lit beaucoup mieux sous la forme d’une chaîne if / else if / else. Chaque branche se trouve sur sa propre ligne.
let score = 75
let grade: String
if score >= 90 {
grade = "A"
} else if score >= 80 {
grade = "B"
} else if score >= 70 {
grade = "C"
} else {
grade = "F"
}
print(grade)Utiliser plutôt switch
Pour les décisions fondées sur des plages, un switch portant sur des plages est souvent l’option la plus claire.
let score = 85
let grade: String
switch score {
case 90...100: grade = "A"
case 80..<90: grade = "B"
case 70..<80: grade = "C"
default: grade = "F"
}
print(grade)Extraire une fonction
Lorsqu’une décision est réutilisée, déplacez-la dans une fonction au nom explicite. L’endroit où vous l’appelez devient ainsi explicite de lui-même.
func gradeLetter(for score: Int) -> String {
if score >= 90 { return "A" }
if score >= 80 { return "B" }
if score >= 70 { return "C" }
return "F"
}
print(gradeLetter(for: 64))Un seul ternaire convient
La règle n’est pas de « ne jamais utiliser de ternaires ». Un ternaire unique et simple pour un choix clair entre deux possibilités est parfaitement idiomatique en Swift.
let isAdmin = true
let role = isAdmin ? "Admin" : "User"
print(role)La lisibilité avant la brièveté
Un code plus court n’est pas toujours un meilleur code. Si une personne qui le relit doit s’arrêter pour décoder une ligne, préférez la version plus longue et plus claire.
let stock = 0
let availability = stock > 0 ? "In stock" : "Sold out"
print(availability)Éviter les effets de bord dans les ternaires
Limitez les deux branches d’un ternaire à des valeurs simples. Dissimuler des appels de fonction ayant des effets de bord dans un ternaire rend le code surprenant.
let level = 2
let points = level == 1 ? 100 : 200
print(points)Combiner avec des conditions nommées
Si une condition est complexe, enregistrez-la d’abord dans un booléen nommé, puis utilisez un seul ternaire. Le nom explique l’intention.
let age = 20
let hasLicense = true
let eligible = age >= 18 && hasLicense
let result = eligible ? "Approved" : "Denied"
print(result)Un exemple clair à plusieurs possibilités
Comparez cette chaîne if lisible avec le ternaire imbriqué précédent. Les deux produisent le même résultat, mais celle-ci est facile à faire évoluer.
let value = -3
let sign: String
if value > 0 {
sign = "positive"
} else if value < 0 {
sign = "negative"
} else {
sign = "zero"
}
print(sign)Vérification rapide
Choisissez la meilleure pratique.
Récapitulatif : éviter les ternaires imbriqués
Utilisez un ternaire simple pour les choix entre deux possibilités. Pour trois cas ou davantage, choisissez if/else if ou switch. Privilégiez la lisibilité afin que vous puissiez suivre la logique plus tard.
let n = 7
let parity = n % 2 == 0 ? "even" : "odd"
print(parity)Questions Fréquemment Posées
La leçon « Éviter les ternaires imbriqués » est-elle gratuite ?
Oui — le texte complet de « Éviter les ternaires imbriqués » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Éviter les ternaires imbriqués » ?
Conservez une logique conditionnelle lisible et facile à maintenir. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Swift Academy ?
Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Éviter les ternaires imbriqués » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?
Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Valeurs Bool et expressions
- Opérateur conditionnel ternaire
- Éviter les ternaires imbriqués
- Méthodes booléennes et basculement