Pull to refresh

Comments 1

Немного не по теме, но я бы советовал использовать guard для проверок, выполнение которых необходимо для дальнейшей работы функции (вместо if). Это позволит отделить выходы из функции из-за, скажем, неверных входных данных, а также поможет придерживаться правила keep the happy path to the left, то есть код, который выполняется в случае прохождения всех проверок не будет задвинут куда-то вправо бесконечными вложенными блоками if {}. Например:


guard status == .Authorized else { return }

// Зеленый свет

… Вместо


if status == .Authorized {
        // Зеленый свет
}

A также:


guard #available(iOS 9.3, *) else {
    // сдаём назад
    openInItunesStore()
    return
}

// всё отлично
let player = MPMusicPlayerController.systemMusicPlayer()
player.setQueueWithStoreIDs(ids)
player.play()

… Вместо:


if #available(iOS 9.3, *) {
    // всё отлично
    let player = MPMusicPlayerController.systemMusicPlayer()
    player.setQueueWithStoreIDs(ids)
    player.play()
}
else {
    // сдаём назад
    openInItunesStore()
}
Sign up to leave a comment.

Articles