Swift-style-guide: Однострочный оператор if-else

Созданный на 28 мая 2016  ·  3Комментарии  ·  Источник: raywenderlich/swift-style-guide

У меня есть вопрос относительно операторов if с одним лайнером, поскольку я не нашел его упомянутого в руководстве. Можно ли использовать что-то вроде:

var playerMark = player == 1 ? "x" : "o"

Спасибо!

Самый полезный комментарий

Я предпочитаю помещать все тернарные операторы внутрь (...). Мне это кажется более читаемым:

let playerMark = ( player == 1 ? "x" : "o" )      // lets var be let

Все 3 Комментарий

Лично я фанат. Я немного меньше фанат вложенных тройных лайнеров. Кстати, я думаю, это должен быть let :)

Я предпочитаю помещать все тернарные операторы внутрь (...). Мне это кажется более читаемым:

let playerMark = ( player == 1 ? "x" : "o" )      // lets var be let

Неужели нет случаев, когда использовать это было бы плохо.
Я наткнулся на этот код в репо, в котором участвую, и обнаружил следующее:

hostNameLabel.text = host.name == nil || (host.name!.isEmpty) ? "DetailsDetails.NoName".localized : host.name

намного менее читабельно, чем это

if host.name == nil || host.name!.isEmpty {
  "DetailsDetails.NoName".localized
} else {
  host.name
}
Была ли эта страница полезной?
0 / 5 - 0 рейтинги