Size: a a a

Kotlin Community

2020 February 24

AN

Alexander Nozik in Kotlin Community
Alexey Otts
Ну здравствуйте, а давайте не рассматривать вообще ничего
Добрый день. Возврат управления на Either это совершенно особенный формат проектирования кода и его нету by design, о чем собственно Роман и говорил. Хорошо это или плохо, судить не берусь. Мне нравится
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Возвращаемся к вопросу проектирования. Хочу пример
Пример с работы: получил с сервера список карточек — их там несколько типов: обычные, текстовые, нативные, рекламные. Наложил на них локальное состояние — добавились скрытые пользователем карточки.
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Добрый день. Возврат управления на Either это совершенно особенный формат проектирования кода и его нету by design, о чем собственно Роман и говорил. Хорошо это или плохо, судить не берусь. Мне нравится
Напомню, что чекед эксепшонов нет.
источник

AO

Alexey Otts in Kotlin Community
Vladimir Petrakovich
Я не про разные типы в одном месте, а про методы, которые могут быть уместны для любого sealed класса, представляющего успешный результат или ошибку. Например подобие recover из Result.
Ну можно конечно обобщить и это удобно. Например берем и говорим что компаньон - это функтор для своего типа, надо предоставить только map и остальные функции получаем на халяву. Тоже самое с любым классом типов: монады, traversable и т.д.
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
Пример с работы: получил с сервера список карточек — их там несколько типов: обычные, текстовые, нативные, рекламные. Наложил на них локальное состояние — добавились скрытые пользователем карточки.
И при чем тут фолды?
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
Напомню, что чекед эксепшонов нет.
И? Чего надо-то? Возврат управления на несколько уровней?
источник

AO

Alexey Otts in Kotlin Community
Alexander Nozik
И? Чего надо-то? Возврат управления на несколько уровней?
Декларация возможных бизнес ошибок
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
И при чем тут фолды?
Например при андроидном getItemViewType, где нужно вернуть разные чиселки для разных типов
источник

AO

Alexey Otts in Kotlin Community
На остальные похер, они фривольные для бизнес процесса
источник

AN

Alexander Nozik in Kotlin Community
Alexey Otts
Декларация возможных бизнес ошибок
Стоп, давайте не заниматься затягиванием скалы. Надо ли прокидвать управление на несколько уровне или нет?
источник

AO

Alexey Otts in Kotlin Community
Alexander Nozik
Стоп, давайте не заниматься затягиванием скалы. Надо ли прокидвать управление на несколько уровне или нет?
При чем тут скала вообще, это обычное желание понимать какие кейсы надо обработать, а какие нет
источник

AN

Alexander Nozik in Kotlin Community
Alexey Otts
При чем тут скала вообще, это обычное желание понимать какие кейсы надо обработать, а какие нет
Просто использование Either вместо исключений - это совершенно специфичный стиль. Понятно, что он имеет право на существование. Вопрос в том, есть ли существование без него
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Стоп, давайте не заниматься затягиванием скалы. Надо ли прокидвать управление на несколько уровне или нет?
ИМХО, не обязательно
источник

AO

Alexey Otts in Kotlin Community
Alexander Nozik
Просто использование Either вместо исключений - это совершенно специфичный стиль. Понятно, что он имеет право на существование. Вопрос в том, есть ли существование без него
Да с чекед ексепшонами, уровня твоего бизнес кода
источник

QH

Quantum Harmonizer in Kotlin Community
BTW, я вот никогда в жизни на скале не писал
источник

AO

Alexey Otts in Kotlin Community
Я за это дело люблю thrift, он тебе позволяет на уровне протокола объявить все успешные исходы и все исключительные
источник

QH

Quantum Harmonizer in Kotlin Community
Alexey Otts
Я за это дело люблю thrift, он тебе позволяет на уровне протокола объявить все успешные исходы и все исключительные
Вау, возьму на заметку
источник

AO

Alexey Otts in Kotlin Community
Quantum Harmonizer
Вау, возьму на заметку
Мы сейчас по этому поводу болим на протобафе потому что нет эксепшенов на уровне протокола и приходится кодировать в сообщениях через one of
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
ИМХО, не обязательно
Тогда обычные исключения отлично работают
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Тогда обычные исключения отлично работают
Обычные как раз и занимаются прокидыванием на несколько уровней.
источник