x
Да, ок ) я понял
x
Просто пытаюсь понять как юнит тестировать это
Vasily
Я бы написал по-другому
x
Нужно будет создавать джунгли и обезьяну даже для тех кому нужен только банан
Vasily
Там можно попроще\
Ayrat
Не надо думать что я в этот класс всё пихаю. Нет. В него засунуты функции которым нужны эти зависимости.
Ayrat
я всегда за хорошие подходы
Romɑn
x
Vasily
let createRoute path auth routeData= route path>=>jacAuthorize auth>=>routeData|>List.map (fun (m,f)->m>=> f zodConfig serializer)|>choose
Igor
Ayrat
Ayrat
Как мне могут в этом помешать моки в юнит тестах?
Vasily
В общем, я про то, что бойлерплейта в данном коде можно убрать много
Ayrat
Igor
Печально
Ayrat
Согласен
Igor
Я тут было хотел предложить глобальные переменные для кода с эффектами...
но если весь код такой...
Ayrat
В общем, я про то, что бойлерплейта в данном коде можно убрать много
Я даже попытался.
createRoute "api/v1/scheduledaction/priceoverride" "api.zod.priceoverride"
[ POST, addPriceOverride
PUT, updatePriceOverride ]
createRoute "api/v1/scheduledaction/priceoverride/cancel" "api.zod.priceoverride.cancel"
[ POST, cancelPriceOverride ]
Vasily
Vasily
Ну как минимум рыбок поменьше
Vasily
НО
Vasily
МОЖНО УПРОСТИТЬ ЕЩЕ
Vasily
Если поменять сигнатуру createRoute на кортеж
Vasily
Хотя в целом однохуйственно
Vasily
От строчек никуда не деться...
Vasiliy
@omgszer Дошли руки до сваггера в жирафе? или я пропустил сообщение
Vladislav
пора пронет в фшарп чат переименовывать
Vasily
Пока рано
Vladislav
кстати
Vladislav
а нет, я подумал наркоманию
Vladislav
Не говорит, а вбрасвыает! Не путай тёплое с мягким. Говорит он в другом месте.
Vladislav
@alexey_tkachenko_by ))
Alexey
:P
Крылатый
В бан?
Shub
Shub
минвайл, сегодня в корпчатике обсуждалось такое:
Shub
anyone have any luck with introducing type safety into message templates in structured logging?
i'm currently hung up on the following:
log.info("Update on record id '{id}' failed.",recordId)
however, there's no type safety on this -- you could just as easily do any of the following:
log.info("Update on record id '{id}' failed.")
log.info("Update on record id '{id}' failed.",None,15,"wtf")
Shub
не обошлось и без наших:
Shub
I created something that uses anonymous records and a tiny bit of reflection (which can be obviated) to avoid constructing strings with separators in code.
Ayrat
Да, я тоже поржал.
Vladislav
Vladislav
Shub
причем там все четко, как в армии. оно берет на вход Result<>, и в зависимости от веточки делает либо log.error, либо log.info
Shub
потому что нахер эти все остальные уровни, правда?
Shub
пулл-реквест весь во флюродросе типа “ой, ты такой умный”
Hog
ещё тема, что лени-то у нас - хрен да маленько
Hog
поэтому все дебаги многочисленные даже при отключении через конфиг
Hog
всё равно будут срать
Shub
let tryFirst list = list |> tryNth 0
Shub
че-то это уже браконьерство напоминает
Vasily
Hog
хед чем не угодил?
Shub
Vasily
tryHead же есть
Vasily
Есть tryItem
Vasily
А не, tryItem нет
Shub
мне очень нужны шумоподавляющие наушники. невозможно слушать все эти охуительные истории с покерфейсом
Shub
архитект на сложных щщах рассказывает, как в F# не нужны интерфейсы, потому что есть DU
Vasily
Еще SRTP есть
Hog
Daniil
Bose QC35 II
Daniil
хорошо звучат
Igor
Igor
Крылатый
Крылатый
Блин, жаль нет меньше стикера((
Oleg
Igor
Специально не далал, там глюки в телеге начинаются