Roman
Bonart
Bonart
https://github.com/Kirill-Maurin/FluentHelium/blob/master/FluentHelium.Base/Extensions/TaskExtensions.cs
Bonart
Метод SelectMany биндит таску к таске
Bonart
Метод Select - синхронный код к таске
Bonart
Roman
более того, когда читаешь код и видишь, что он возвращает Task<User>, подразумеваешь, что этот метод асинхронно достает юзера. Ничто здесь в сигнатуре не отражает ожидаемые возможные ошибки в отличие от Result<User, ValidationError>
Bonart
Roman
Потому что туда можно любой эксепшн запихать, это все равно, что Result<User,Object>
Roman
Ладно, мы не договоримся
Bonart
Фокус в том, что тип "Result" в сишарпе есть, с ним можно работать, мы с ним уже работаем. А вот калька с функциональных языков будет тем самым натягиванием совы на глобус и аналогом checked exceptions в яве
x
x
Крылатый
Крылатый
Цените няку :33
x
мыш!
Крылатый
Это лиса ;P
Bonart
Там есть, но во внешнем коде этого обычно нет.
x
Bonart
так кто виноват
Правильный вопрос не "кто виноват", а "что делать". Я предпочитаю внедрять новое через знакомое
Анна
Vladislav
Крылатый
Крылатый
Лисики они же няшы
Bonart
x
x
кстти по поводу оверхедда: Task это reference тип
x
Bonart
ась?
В смысле возврат таски для "среднего сишарписта" никаких когнитивных трудностей не создаст
Bonart
Bonart
Надо только народ к лотку, то есть к LINQ приучить
x
так всё равно не запрещено - бери и доставай
x
x
сразу возникает вопрос: как мне поиметь значение?
x
и это - хороший, правильный вопрос )
x
x
так надо ли оно
Vladislav
Bonart
так надо ли оно
Зато интероперабельность с тем что есть - полная, дополнительная когнитивная нагрузка отсутствует, с массой существующего кода стыкуется на раз. Проблемы API известны и обходятся на уровне рефлекса.
Roman
теперь можно гордо говорить, что в жаве есть тайп инференс
Roman
Не то чтобы это джава чатик, но всего 23 года понадобилось чтобы внедрить такую плёвую фичу
Vasily
Кароч. Помимо полезности фич(или бесполезности), еще логично вводить понятие сопротивления среды изменениям
Vasily
Условно, если чувак говнокодит энтерпрайз n лет, ему нелегко объяснить, зачем использовать что-то новое, если старое и так работает
Bonart
Bonart
(на самом деле нет)
Bonart
Просто то, что не работает по старому считается непреодолимым
Vasily
Вообще, конечно, было бы интересно посмотреть научные исследования на данную тему
Vasily
И почему такая изменчивая среда, как разработка ПО, имеет такое свойство сопротивляться изменениям
Bonart
Можно и без этого - модульность это "слишком узкая тема для доклада", "переход на микросервисы" - в самый раз. Ничего, что второе - частный случай первого?
Bonart
Bonart
И некоторые вещи категорически контринтуитивны
Vasily
Ну было бы интересно это описать в терминах той же теории поля
Vasily
Или распространения волн в вязкой среде
Ayrat
x
💩
Анна
https://www.facebook.com/pavel.e.stroganov/posts/1302746253210687
Vasily
Vasily
Комиксы огонь
Vasily
Довольно точно подмечен принцип локальной оптимизации, превалирующей в бизнесе
Ayrat
Ayrat
там один критерий - цена контракта. Если хер знает кто предлагает меньше, обязан его выбрать
Крылатый
Тест
Крылатый
Хм, отправка тормозит
Крылатый
Bonart
Ayrat