Фил Ранжин
формат другой
Romɑn
Фил Ранжин
а, хм
Shub
Если ты решил поменять сигнатуру на низком уровне, скажем, поменять тип исключения - тебе придется рефакторить всю цепочку, где они пробрасываются наверх. Это тупая и бесполезная работа. Ну и есть мнение, что это форсит мерзких людишек протекать деталями реализации
Shub
Romɑn
Shub
Слава Ахмечет известный лиспер был в свое время
Roman
Doge
Nikolay
Вчера в сурсах замарина такой бажок обнаружил
Anatoly
Anatoly
Фил Ранжин
Раскрой мысль
Anatoly
Так как в C# (мы же про него говорим?) нет контроля за тем, что ты все кейсы своего Maybe/Option/Nullable прочекаешь, то у тебя может произойти далее по стеку:
- NRE/MaybeNonReferenceException
- или же решение будет принято неверно
Зачастую, но не всегда, выбрасывание исключения надёжнее, потому что закрешит приложение/обработку конкретного запроса и не приведёт к принятию кривых решений
Фил Ранжин
погоди
Фил Ранжин
у меня столько же контроля за кейсами, как и в F#
Фил Ранжин
и даже если ты не все прочекаешь, а напишешь что делать только в случае сакссеса, это не приведет к принятию кривых решений
Фил Ранжин
а приведет к игнорированию ошибки, и конкретному не отработавшему моулю
Фил Ранжин
а систему не порушит
Nikolay
Anatoly
Anatoly
с эксепшном у тебя просто всё покрешилось и до запуска ракеты ты не дошёл
Фил Ранжин
Фил Ранжин
Монада заставляет их прикладывать
Фил Ранжин
Anatoly
нет отличия в C# между Maybe<User> и User?
Фил Ранжин
Anatoly
Ну обсуждали ж вчера
я вчера читал договор с банком, это длительное занятие, поэтому пропустил
Anatoly
Anatoly
Хотя как ты её продолжишь на заклинившем затворе - не ясно.
Nikolay
Anatoly
Anatoly
там есть херовая ситуация, когда выстрел не произошёл, хотя боёк по капсюлю стукнул
Nikolay
Повторно нажимаешь на курок, не стреляет
Nikolay
Нужно звать старшего, чтобы он вытащил гильзу
Nikolay
Nikolay
А в бою как быть?
Anatoly
а в бою, ты крешишь процесс стрельбы и устраняешь отказ. Т.е. подкладываешь юзера в базу или правильные креды присылаешь
Nikolay
Nikolay
Пока ты дождёшься, тебя уже убьют
Vladislav
Anatoly
затем ты устраняешь отказ, либо по SPORT, либо по другой мнемонике
Anatoly
и если отказ устранён, ты начинаешь стрельбу заново
Nikolay
Так ты можешь пистолет достать/штык нож применить
Nikolay
Опять же, это про обработку ошибок
Nikolay
А не всё покрешилось
Nikolay
Помогите, у меня оружие заклинило
Anatoly
А не всё покрешилось
если ты не видишь разницу, "без усилий со стороны девелопера, приложение упало и не произвело кривых действий" и "при правильной обработке монады, приложение не произведёт кривых действий", то давай не будем тратить время друг друга, пожалуйста?
Anatoly
если девелоперы умеют работают с монадой Maybe, они и на null везде прочекают, разницы никакой
Nikolay
А почему приложение должно именно кривые действия производить, а не останавливать выполнение любых действий при возникновении ошибки?
Nikolay
Если у тебя на пульт управления ракетой, пришёл кривой сигнал от датчика, у тебя же не должна вся панель управления ракетой крашиться
Крылатый
Она не крашится, там алгоритм остановки, если и с резервного датчика пришла аномалия.
Anatoly
Anatoly
Roman
Ayrat
Ayrat
прям аж зубы сводит
Roman
прям аж зубы сводит
Пушто приходится отчитываться перед дармоедами? Или душа болит, что им кучу денег платят?
Ayrat
Им к слову не платят кучу денег
Ayrat
Но эти пидоры определяют насколько я хорош при том что им похуй насколько я хорош
Roman
Ayrat
Откуда инфа?)
Я точно знаю чо почём. Компенсейшн у манагеров и Individual contributor одинаковый на одинаковых левелах
Единственное чо, у манагеров левелов больше
Roman
А, ну в моем понимании это куча денег, учитывая количество полезного труда)
Vasily
@eglyph Годная статья
Vladislav
Какая