0Pricing
Swift Academy · Aula

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

  1. Valores e Expressões Bool
  2. Operador Condicional Ternário
  3. Como Evitar Ternários Aninhados
  4. Métodos Booleanos e Alternância
← Voltar para Swift Academy