Vladislav
Через класс StackTrace вроде
Roman
Стектрейс можно получить без эксепшена
но сначала я хочу понять, нужен ли он вообще, и если да — то зачем и когда. Как — это уже следующий этап
Aleksandr
Опять же, а какие есть гарантии, что доменное исключение в конкретном случае возникает не из-за нарушений в коде/логике?
Roman
Опять же, а какие есть гарантии, что доменное исключение в конкретном случае возникает не из-за нарушений в коде/логике?
Их, конечно, нет. Но чем концептуально функция, возвращающая Result<'a,'err>, отличается от функции, возвращающей число? Она может вернуть неправильное число, но это ж не значит, что ты должен на каждое возвращаемое значение стектрейс сверху прикладывать
Dmitry
а скотобаза большая?
Нет, и задачи не сильно сложные. Сложно сказать как было бы если б разрослось
Roman
А просто new Exception не создаст нам нужный стэктрейс?
нет. Стектрейс нулл у невыброшенного исключения
Roman
есть еще конечно Environment.StackTrace, хотя он добавляет лишний вызов себя же на верхушку
Vladislav
Есть класс StackTrace вроде
Vladislav
В диагностике
Vladislav
но сначала я хочу понять, нужен ли он вообще, и если да — то зачем и когда. Как — это уже следующий этап
Короче если бизнес правила то можно стек не кидать наружу, но если кто-то сдох то надо точно писать
Vladislav
Хз
Roman
Есть класс StackTrace вроде
да, есть. Медленно работает, строго не рекомендуют в прод, особенно для такого регулярного использования)
Roman
ладно. В любом случай на данный момент меня очень просили оставлять пометку об источнике в каждой ошибке. Посмотрим, насколько это обоснованно. Всем спасибо!
Nikolay
Вам стэктрейс надо получить?
Nikolay
Ну быстро его не получится в любом случае получить
Nikolay
https://github.com/theramis/Snapper/blob/master/project/Snapper/Core/TestMethodResolver/TestMethodResolver.cs#L24
Vasiliy
ООО доклад от Марка Шевченко. Классно!
Vasiliy
Vasiliy
Vasiliy
это где?
Так, Марков кажется много дописал фамилию 😅. А так Райффайзенбанк MskDotNet
Roman
@Liminiens если я правильно помню, вы используете Expecto и ты используешь мсвс. У тебя в студии тесты отображаются?
Vladislav
Скорее их просто кучей запускаю
Roman
понял
Roman
let fromBool ev v = match v with | true -> Ok v | false -> Error ev как вам?
Igor
как-то не очень
Roman
вот и мне че-то херовенько
Roman
продакшен код, все дела
Roman
А в чем смысл Ok(true)?
наверное, когда все трушно прям хорошо
Roman
не ебу, проще говоря
Ayrat
Очень говеный код чот
Roman
4 строчки а сколько впечатлений, да?
Hog
[<``💩``>]
Roman
[<``💩``>]
пердакшен код)
Hog
Блин. Вернусь из отпуска - надо допилить :)
Roman
Блин. Вернусь из отпуска - надо допилить :)
а в чем суть? Кроме того, чтоб лейбликом кусок говна в коде отметить
Hog
Надо в постбилд таске анализ как-то прикрутить
Hog
Хотя мож это тупик
Roman
который выдает процентное содержание годноты?
Roman
Jet.com
не, у них нет на это монополии
Roman
идея на миллион баксов: собрать всевозможный подобный говнокод (благо он весь из себя такой дженерик) в один опенсорсный проект, и обложить это платной коммерческой лицензией, да с пиздецовым прайсингом. Чтобы говнокодить было оооочень не выгодно!
Roman
А в чем смысл Ok(true)?
это просто копипастой было сделано: let fromDecimal ev v = match v with | 0m -> Error ev | _ -> Ok v
Roman
ага, дефолт в эррор, логика простая
Ayrat
If (v = Language primitives.Zero) then ... Else ...
Roman
я, правда, не понимаю, почему дефолтное значение — это неверно.
Roman
в джете, наверное, любят FSharpPlus?
Romɑn
@markshevchenko
Yurii
let fromBool ev v = match v with | true -> Ok v | false -> Error ev как вам?
может они делали реилвей ориентед, а тут метод с булем каким то
Yurii
и решили заврапать как то
Roman
да, это там в СЕ
Roman
только вместо этого можно было еще до этого рейлвея сделать простой иф
Roman
стиль го)
да пиздец. Хоть мультикурсор призывай
Roman
Тут свой написали
это была моя вторая версия
Roman
ну это другой порядок проверок выходит
ну как бы да. В любом случае, поскольку в фшарпе все является выражением, имхо лучше было бы прям на месте не выебываясь писать let! myOk = if cond then Ok myOk else myError. Так хотя бы не будет абсолютно бесполезного Ok true
Roman
а что имеешь ввиду под правым myOk?
что-то полезное из внешнего контекста. Если полезного нет, то юнит
Yurii
ок, так и думал
Romɑn
Посмотрел The Boys это отлично
Romɑn
Но что смотреть дальше?
Romɑn
в идеале такого же трешового
Romɑn
можно даже аниме
Vasiliy
🤘 комикс прочитать
Romɑn
Сорри что я тут не с фаршиком
Vasiliy
можно даже аниме
ООО а ты смотрел военные хроники маленькой девочки?
Romɑn
🤘 комикс прочитать
Меня Мкединский не поймет
Vasiliy
Попробуй.
Romɑn
Спасибо