Size: a a a

Kotlin Community

2020 October 27

GR

Gor Rushanyan in Kotlin Community
Ну вот выглядит адекватным
источник

с#

саша сок #KotlinGang... in Kotlin Community
Gor Rushanyan
Так походу та же проблема. Нафиг делать апи которое ломает солид.
где там проблема солида ?
источник

GR

Gor Rushanyan in Kotlin Community
саша сок #KotlinGang
где там проблема солида ?
То что у тебя метод может работать с наследниками флов, а может и не работать.
источник

VP

Vladimir Petrakovich in Kotlin Community
Gor Rushanyan
Так походу та же проблема. Нафиг делать апи которое ломает солид.
Не всегда легко запретить пользователю написать кривой код. И в случае с toList() сделать это в общем случае нельзя. Эта операция может не иметь смысла и на небесконечных последовательностях.
источник

VP

Vladimir Petrakovich in Kotlin Community
Gor Rushanyan
То что у тебя метод может работать с наследниками флов, а может и не работать.
А контракт Flow где-то обещал, что там ограниченное количество элементов? Где тут сломанный SOLID? Flow - это вообще интерфейс.
источник

GR

Gor Rushanyan in Kotlin Community
Vladimir Petrakovich
А контракт Flow где-то обещал, что там ограниченное количество элементов? Где тут сломанный SOLID? Flow - это вообще интерфейс.
Почему тогда открыт tolist?
источник

с#

саша сок #KotlinGang... in Kotlin Community
Gor Rushanyan
Почему тогда открыт tolist?
это интерфейс
источник

с#

саша сок #KotlinGang... in Kotlin Community
как ты сделаешь метод финальным в интерфейсе ?
источник

с#

саша сок #KotlinGang... in Kotlin Community
и зачем ?
источник

GR

Gor Rushanyan in Kotlin Community
саша сок #KotlinGang
как ты сделаешь метод финальным в интерфейсе ?
Что?
источник

VP

Vladimir Petrakovich in Kotlin Community
Gor Rushanyan
Почему тогда открыт tolist?
Это присобаченная сбоку функция (extension), у которой в доке описано, как она работает. И работает она более чем предсказуемо.
источник

GR

Gor Rushanyan in Kotlin Community
Vladimir Petrakovich
Это присобаченная сбоку функция (extension), у которой в доке описано, как она работает. И работает она более чем предсказуемо.
Я понимаю что это. Просто это не делает этот пример хорошим.
источник

с#

саша сок #KotlinGang... in Kotlin Community
Gor Rushanyan
Я понимаю что это. Просто это не делает этот пример хорошим.
toList собирает элементы, пока не закончится флоу и передаёт конечный лист тебе.
очевидно что если у флоу нет конца, то он будет собирать их бесконечно.
источник

GR

Gor Rushanyan in Kotlin Community
саша сок #KotlinGang
toList собирает элементы, пока не закончится флоу и передаёт конечный лист тебе.
очевидно что если у флоу нет конца, то он будет собирать их бесконечно.
Как я и говорил, апи которое позволяет сломать себе ногу.
источник

VP

Vladimir Petrakovich in Kotlin Community
Gor Rushanyan
Я понимаю что это. Просто это не делает этот пример хорошим.
Ну почему же. С тем же успехом можно ругаться на то, что emptyList() ломает солид, ведь first() на нём не работает.
источник

GR

Gor Rushanyan in Kotlin Community
Vladimir Petrakovich
Ну почему же. С тем же успехом можно ругаться на то, что emptyList() ломает солид, ведь first() на нём не работает.
Он разве не работает?
источник

с#

саша сок #KotlinGang... in Kotlin Community
Gor Rushanyan
Он разве не работает?
firstOrNull() работает, а first нет
источник

SB

Sergey Barmin in Kotlin Community
смотря что понимать под работает
источник

VP

Vladimir Petrakovich in Kotlin Community
Gor Rushanyan
Он разве не работает?
Нет, так же как и last(), fold() и прочее, что явно говорит, что ожидает не пустой список
источник

GR

Gor Rushanyan in Kotlin Community
Vladimir Petrakovich
Нет, так же как и last(), fold() и прочее, что явно говорит, что ожидает не пустой список
Они кмдают ошибки же
источник