Vladislav
https://keithclark.co.uk/labs/css-fps/
Aleksandr
Других живых нет
Есть @ExtremeCode но он прям совсем для начинающих
Aleksandr
Есть @ExtremeCode но он прям совсем для начинающих
Да он и не очень на самом деле. Давно там не был
サイトー
уже тоже в черновиках
может в кэше гугла остался?
サイトー
не, походу не успело
Nikolay
Щас собираю и заливаю датасет, который получился, 120 ГБ сырых данных
Nikolay
🙈
Roman
На новой работе народ местами пользует Result & Optional в сишарпе, а также тщательно избегает нуллов. Пахнет плодородной почвой для фаботажа
Roman
Ага, самописные
Nikolay
Ну может выпустят версию скоро, где нот налл все по умолчанию
Viacheslav
Ага, самописные
А как реализовано? Наследование или енам?
Roman
А как реализовано? Наследование или енам?
Эмм,а как через енум сделать?
Roman
Похоже много
Roman
Мне кажется там где фшарп всегда сишарп рядом
Ivan
Ага, самописные
я у себя на работе тоже запилил Option и Result, но старшим пацанам не зашло, сказали кидай эксепшны вместо своих резалтов и тд =)
x
я у себя на работе тоже запилил Option и Result, но старшим пацанам не зашло, сказали кидай эксепшны вместо своих резалтов и тд =)
То шо я люблю. Я их у нас вводил тихой сапой, а теперь кодовая база довольно увесистая и ппросто так взять их и выбросить вряд ли кто-то возьмется ) да и зачем, оно работает как часы
x
Но квантовый скачок до f# пока не происходит (
Pavel
Но квантовый скачок до f# пока не происходит (
result в c# все равно как гуано выглядит. покажи как в фшарпе мож проникнутся
x
result в c# все равно как гуано выглядит. покажи как в фшарпе мож проникнутся
В с# вообще любой метод возвращающий вложенные генерики, выглядит как гуано, вывода типов нет
x
Я на какомто митапе интересную идею подслушал: начать писать на фшарпе юнит тесты
x
Вроде и не продакшен, и отклбчить легко случ чего
サイトー
На новой работе народ местами пользует Result & Optional в сишарпе, а также тщательно избегает нуллов. Пахнет плодородной почвой для фаботажа
Я вот тоже щас свою кодобазу критичного виндового сервиса переписываю на Result от vkhorikov Стало все ещё довольно херово (потому что c# и легаси), но гораздо лучше чем было
Pavel
Я на какомто митапе интересную идею подслушал: начать писать на фшарпе юнит тесты
https://fsharpforfunandprofit.com/posts/low-risk-ways-to-use-fsharp-at-work-3/ всего 5 лет идеи
x
Ну я не знаю сколько ей лет, сам пару лет всего этой темой интересуюсь )
x
Вот тут здравые и немного грустные мысли на этот счёт https://github.com/louthy/language-ext/wiki/%22Why-don't-you-just-use-F%23%3F%22
サイトー
Есть прекрасный lang-ext с резалтами и блекджеком
угу, но мне оно не надо просто Result я для защиты от эксепшенов использую, а 80% остального кода это императивщина в силу своих особенностей (всякие вызовы виндовых апи)
Vasiliy
я у себя на работе тоже запилил Option и Result, но старшим пацанам не зашло, сказали кидай эксепшны вместо своих резалтов и тд =)
Вооот, это это вчерашний вопрос был. Точнее про обертку Result. Немного нервирует кидать exception где он как бы и не exception
Vasiliy
И приятно иметь потом один обработчик «ошибок»(ну хотя там уже все ошибка)
Ivan
я писал юнит-тест для демонстрации того, что помимо всего прочего Result еще и быстрее выброса исключения, но это не зашло. Я не стал убиваться, т.к. для полноценного использования Result нужны Discriminated Unions. Реализовать нормальный DU на C# нереально, или выглядит очень страшно (типа OneOf)
Ivan
Еще меня чуть не посадили на кол за передачу функции в конструктор одного из сервисов. Пришлось сделать интерфейс с одним методом. В общем очень похоже на то как рассказывал Молдован =) https://youtu.be/4eXthLWzYrk
サイトー
> Пришлось сделать интерфейс с одним методом. ЛОЛ
サイトー
жава стайл
Ivan
а зачем для резалта DU?
ну вот если ты хочешь четко отличать одну ошибку от другой и при этом у тебя есть различная вспомогательная инфа для каждой ошибки
x
ну вот если ты хочешь четко отличать одну ошибку от другой и при этом у тебя есть различная вспомогательная инфа для каждой ошибки
Дай угадаю, теперь у вас там будет развесистое дерево иерархии эксепшенов и паттерн матчинг серез catch?
Ivan
да ты просто ванга =)
Ivan
просто это типично для C# и именно это мне приводилось в качестве аргумента от владельца продукта (он тоже иногда пишет на C#)
x
Вот это бесит больше всего, в каждой книге про с# пишется что не надо использовать эксепшены для предвиденных ситуаций, а паттерн матч прикрутили для них в первую очередь 🤦‍♂️
サイトー
Result<T, object>
サイトー
サイトー
и ебитес, так сказать
Ivan
я пришел к выводу что если хочется писать как на F# - то надо писать на F#. Но у меня на работе он пока входит в список экстремистских языков и запрещен к использованию
x
Ох тыж, даже так
Ivan
Но вообще методика Молдована вполне годная чтобы "прощупать почву". Через некоторое время становится ясно имеешь ли ты право на какие-то принятия решений, есть ли интерес к смене парадигмы у членов команды и вообще очень много интересного о себе можно узнать когда отправляешь PR с функциональщиной на C# код-ревьюверу из лагеря ООП 😁
サイトー
> когда отправляешь PR с функциональщиной на C# код-ревьюверу из лагеря ООП ну вообще странно, вот так вот, out of the blue кидать пр в другой парадигме скорее всего в кодобазе уже есть устоявшиеся практики написания и любое отклонение от нормы без объяснений будет встречено в штыки поэтому единственной адекватной стратегией будет сначала продать, а потом писать, кмк
Vladislav
https://twitter.com/elonmusk/status/1100134139703914496?s=12
Ivan
> когда отправляешь PR с функциональщиной на C# код-ревьюверу из лагеря ООП ну вообще странно, вот так вот, out of the blue кидать пр в другой парадигме скорее всего в кодобазе уже есть устоявшиеся практики написания и любое отклонение от нормы без объяснений будет встречено в штыки поэтому единственной адекватной стратегией будет сначала продать, а потом писать, кмк
ну да, согласен. Просто я делал полностью изолированную новую фичу, и многие элементы некоторыми членами команды были восприняты позитивно (тот же Result). У меня сложилось ложное впечатление, что людям нравится. Нравилось только некоторым рядовым разработчикам, а вот старшим ребятам не зашло. Я их прекрасно понимаю и переделал все буквально за пару часов на эксепшны и интерфейсы, чтоб не затруднять поддержку кода
Roman
Вобщем надо быть тем кто принимает решения ))
Bonart
короче, слёт старпёров объявляю открытым
Тоже мне старпер - на реактивной тяге аж в Дублин улетел, да еще с семьей небось
Анна
Если @omgszer старпёр, то я тоже старпёр 🤔
Bonart
Ура-оопшники?)
ТРУ-оопошники
Roman
Или оопники, не знаю, как лучше
Vasily
Подкиньте идею, что написать на условном орлинсе
Vasily
Для пет проекта
x
бота-матерщинника
Vasily
Это я и бекз бота могу
Romɑn
семья вот-вот!
Вечер ты от них убегаешь
Ayrat
Вечер ты от них убегаешь
я не такой! это просто совпадение!!1
Анна
Мне кстати рекрутёры какой-то конторы из Дублина писали в линкедин
Romɑn
я не такой! это просто совпадение!!1
Я уже устал от однотипщины
Romɑn
Хочу в назад в сложные задачи
Ayrat
Хочу в назад в сложные задачи
Создай себе сложную задачу.
Анна
Хочу в назад в сложные задачи
А эту легкотню одной левой можешь закодить, да?
Анна
простите, я не удержалась 🌚
Romɑn
Тут надо менять подход от бизнеса и я давлю как могу, но я бэйз инженер самая далёкая от бизнеса часть. Даже не менеджер. Мне так непривычно от этого ппц
Romɑn
Большая часть задачи это в ожидании задачи