Como Evitar Ternários Aninhados
Mantenha a lógica condicional legível e fácil de manter.
Como Evitar Ternários Aninhados é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.
Quando os ternários ajudam
Um único ternário é limpo e legível para uma escolha simples entre duas opções. O problema começa quando você aninha um ternário dentro de outro.
let temp = 10
let label = temp < 0 ? "Freezing" : "Above zero"
print(label)Um ternário aninhado
Você pode aninhar ternários para lidar com mais de dois casos, mas o resultado rapidamente se torna difícil de ler.
let score = 75
let grade = score >= 90 ? "A" : score >= 80 ? "B" : score >= 70 ? "C" : "F"
print(grade)Por que o aninhamento atrapalha
Ternários aninhados obrigam o leitor a acompanhar mentalmente qual dois-pontos corresponde a qual ponto de interrogação. Um pequeno erro altera o comportamento silenciosamente.
Prefira clareza à esperteza.
let value = 5
let text = value > 0 ? "positive" : value < 0 ? "negative" : "zero"
print(text)Refatorando para if/else if
A mesma decisão entre várias opções fica muito mais clara como uma cadeia de if / else if / else. Cada ramo fica em sua própria linha.
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)Usando switch em vez disso
Para decisões baseadas em intervalos, um switch sobre intervalos costuma ser a opção mais clara de todas.
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)Extraia uma função
Quando uma decisão é reutilizada, mova-a para uma função com um nome adequado. O local da chamada se torna autoexplicativo.
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))Um ternário é aceitável
A regra não é "nunca use ternários". Um único ternário simples, sem aninhamento, para uma escolha clara entre duas opções é perfeitamente idiomático no Swift.
let isAdmin = true
let role = isAdmin ? "Admin" : "User"
print(role)Legibilidade acima da brevidade
Código mais curto nem sempre é código melhor. Se um revisor precisar parar para decifrar uma linha, prefira a forma mais longa e clara.
let stock = 0
let availability = stock > 0 ? "In stock" : "Sold out"
print(availability)Evite efeitos colaterais em ternários
Mantenha os dois ramos de um ternário como valores simples. Ocultar chamadas de função com efeitos colaterais dentro de um ternário torna o código surpreendente.
let level = 2
let points = level == 1 ? 100 : 200
print(points)Combinando com condições nomeadas
Se uma condição for complexa, armazene-a primeiro em um booleano nomeado e depois use um único ternário. O nome explica a intenção.
let age = 20
let hasLicense = true
let eligible = age >= 18 && hasLicense
let result = eligible ? "Approved" : "Denied"
print(result)Um exemplo claro com várias opções
Compare esta cadeia legível de if com o ternário aninhado anterior. Ambos produzem a mesma resposta, mas esta é fácil de manter.
let value = -3
let sign: String
if value > 0 {
sign = "positive"
} else if value < 0 {
sign = "negative"
} else {
sign = "zero"
}
print(sign)Verificação rápida
Escolha a prática recomendada.
Recapitulação: evitando ternários aninhados
Use um único ternário simples, sem aninhamento, para escolhas entre duas opções. Para três ou mais casos, prefira if/else if ou switch. Priorize a legibilidade para que você possa acompanhar a lógica no futuro.
let n = 7
let parity = n % 2 == 0 ? "even" : "odd"
print(parity)Perguntas Frequentes
A aula “Como Evitar Ternários Aninhados” é grátis?
Sim — o texto completo de “Como Evitar Ternários Aninhados” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.
O que vou aprender em “Como Evitar Ternários Aninhados”?
Mantenha a lógica condicional legível e fácil de manter. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Como Evitar Ternários Aninhados”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Valores e Expressões Bool
- Operador Condicional Ternário
- Como Evitar Ternários Aninhados
- Métodos Booleanos e Alternância