@oop_ru

Страница 776 из 785
First
13.10.2018
10:01:20
Так ты ж просто начал гадать о чем собеседник @fes0r говорил

Sergey
13.10.2018
10:02:01
я повторюсь - я хер знает как это у него работало...

Aleh
13.10.2018
10:02:04
я ж вообще с тобой говорил -_-

А почему не вернутся?

Google
Aleh
13.10.2018
10:02:04
а как?

Именно в выполнение без .catch?

да

First
13.10.2018
10:02:15
Ой все

First
13.10.2018
10:03:15
Возможно, он начудил с замыканием

Мне ваще сейчас не до вашего джса Даже на дарте не пишу!

Меня на руби заставляют писать ?

Aleh
13.10.2018
10:27:34
Руби +- норм

First
13.10.2018
10:27:44
А рубокоп нет.

Aleh
13.10.2018
10:28:35
Чего?)

Не хватает типов?

First
13.10.2018
10:28:47
Google
First
13.10.2018
10:28:55
Чего?)
Потому что пиздит на все подряд, падла

Aleh
13.10.2018
10:30:25
Эта да!!
Согласен

Один раз попробуешь и потом сложно слезть

First
13.10.2018
10:30:36
Меня еще и на рельсах заставляют писать...

Aleh
13.10.2018
10:31:20
Это я про типы

First
13.10.2018
10:31:36
Тогда пиздежь

На джсе живу без flow и все равно больна

Aleh
13.10.2018
10:36:42
Але, я про то, что попробуешь типы в компайлтайме и все, обратной дороги нет

Отказаться от них нереально

Ну естественно если есть вывод типов

Konstantin
13.10.2018
10:45:29
Артур Евгеньевич
13.10.2018
10:50:06
не, там в других областях тоже были проблемы вроде как

Konstantin
13.10.2018
10:50:09
Он же не расширять собирается

Артур Евгеньевич
13.10.2018
10:50:27
Не понимаю, зачем наследовать от exception
чтобы получать объект используя throw

))

Konstantin
13.10.2018
10:50:43
Это же паха?

Артур Евгеньевич
13.10.2018
10:51:02
php

Google
Konstantin
13.10.2018
10:52:34
php
Ну да, т9. Если в других областях проблемы можно же направить по ходу работы

Никто не знает всё

First
13.10.2018
10:53:44
Никто не знает всё
Недавно ради интереса ходил на пхп

Челы хотят девопса + разраба баз данных, + еще некоторые фичи И совсем чучуть пхп

Пхп мир не изменился

Konstantin
13.10.2018
10:55:52
Маленькая то есть

First
13.10.2018
10:56:21
Неа

Konstantin
13.10.2018
10:56:21
И жнец и кузнец

First
13.10.2018
10:56:57
А в добавок угадай че у них)

Konstantin
13.10.2018
10:57:35
Yury
13.10.2018
10:57:39
Как вы относитесь к г̶е̶я̶м̶ такой валидации в домене? https://pastebin.com/sB09UAfE Раньше я в таких случая исключения бросал, а сейчас нужно собрать все ошибки. Может быть вообще стоит тогда разделить валидацию и изменение в домене?

Konstantin
13.10.2018
10:58:51
Scrum :)
Стремятся к лучшему

))

Aleh
13.10.2018
10:59:31
А так получается почти нормальный Either

Только в success еще обычно можно какие-то данные добавить, но это по желанию)

Yury
13.10.2018
11:02:57
Только назвать это не Command
А как это назвать?)

Google
knopkod4v
13.10.2018
11:03:35
на хабре был один наркоман с которым мне нравилось спорить - у него async/await на исключениях и норм
на хабре есть ещё прикольный чувак Vmichael или как-то так, не помню точно никнейм - он пилит всё при помощи RDBMS и чувствует себя офигенно =)

Aleh
13.10.2018
11:04:51
А как это назвать?)
https://mikhail.io/2016/01/validation-with-either-data-type-in-csharp/

Aleh
13.10.2018
11:05:27
Но да

Yury
13.10.2018
11:06:19
БДСМ по русски?
Ты на 1с пишешь?

Konstantin
13.10.2018
11:06:41
Я как то работал с программистом 1c, ну чел просто Рядом сидел и сайтики свои делал в свободное время. Все бы ничего, только вот название стилей в css у него были по русски типо «нижний_бардюр» и так далее. Все работало до момента пока он не поменял кодировку

Dmitriy
13.10.2018
11:23:10


Konstantin
13.10.2018
11:32:56
Баян

Павел
13.10.2018
13:00:34
Вот такая штука. Клиент делает запрос передавая пару значений. На стороне сервера по этим значениям находиться запись в бд. Теперь нужно из этой записи сформировать ответ. Но ответ составной. Есть общаяя шапка, и изменяющиееся тело. В зависимости от того какого типа строка была найдена в базе формируется разного вида кусок ответа. Потом добавляется в общуюю часть и отдается клиенту. Например выглядит так: на сервер приходит запрос id = 123 guid = 999. Сервер ищет в базе строку. Находит. Смотоит что у нее тип TYPE1. формирует общий ответ а потом по типу формирует конкретную часть ответа. Я заюзал паттерн стратегия. И назвал его билдер. Builder builder = builderContext.getBuilder(rowFormBd.getType); Element internalRequest = builder.build(rowFormBd); Смущают названия. И интересует может есть еще способы сделать такое красиво

Yury
14.10.2018
09:04:44
У меня по сути остался все тот же вопрос: Как вы делаете валидацию в домене на инварианты, если нужно потом получить список ошибок, а не первую, например просто бросая эксепшн? Делите ли вы валидацию и изменение раздельными, с клиента например сначала вызывая isValidToPublishOrder(), а потом уже publishOrder().

Дмитрий
14.10.2018
10:38:50
Если надо только проверить валидность данных без выполнения доменной операции, то надо делать отдельный метод, возвращающий результат валидации, этот же метод будет использоваться и в publishOrder

Sergey
14.10.2018
10:39:48
но я бы хотел услышать юзкейс конкретный который хочет решить @user83595863018 . Ибо как по мне тут речь и смешении валидации данных и бизнес логики.

Дмитрий
14.10.2018
10:43:31
А если надо проверить валидацию доменного уровня, и если их несколько?

Sergey
14.10.2018
10:45:20
А если надо проверить валидацию доменного уровня, и если их несколько?
тут вопрос в том что если у него там может быть список ошибок - то явно что-то идет не так.

Дмитрий
14.10.2018
10:45:39
или превратить инварианты в прекондишены) У тебя не будет инвариантов если у тебя нету стэйта ;)
Прежде чем перейти от одного инварианта к другому ты же выполняешь проверки с усетом текущего стейта. Вот эти проверки и вынести в отдельные методы

Google
Sergey
14.10.2018
10:45:47
по хорошему мы на уровне UI не должны позволять пользователю сделать что-то что нарушит инварианты. Ну а если так уж приключилось - он будет довольствоваться одной ошибкой

повторюсь - основной момент (который меня сильно смущает) - желание получить список ошибок.

Дмитрий
14.10.2018
10:47:06
Если интерфейс например устарел, пока юзер думал

И позволяет сделать запросы нарушающие бизнес логику

knopkod4v
14.10.2018
10:47:49
Если интерфейс например устарел, пока юзер думал
это как? о_О Типа обновление выкатили?

Дмитрий
14.10.2018
10:47:54
Не

Sergey
14.10.2018
10:47:57
Дмитрий
14.10.2018
10:48:17
Есть предметные области в которых вполне вероятно

Особенно в вебе

Sergey
14.10.2018
10:49:09
давай рассмотрим два варианта: вероятность подобного высока - много людей одновременно работают над одними и теми же данными - в этой ситуации тебе надо больше внимания уделитть синхронизации стэйта что бы уменьшить вероятность подобного. вероятность подобного низкая - очень редко разные люди трогают одни и те же данные - можно забить болт на подобные ситуации

все же есть разница когда ты блог пост редактируешь, или же когда у тебя какая-нибудь система для диспетчеров где много людей работают одновременно с одним пулом данных (сокеты и т.д. тут могут помочь, или какой eventual consistency). Или вообще гугл докс где совсем по другому будет происходить работа со стэйтом

Дмитрий
14.10.2018
10:53:54
Ок, а если нет возможности синхронизировать стейты, например если это браузер без js

Но ошибки хочется показать все

Sergey
14.10.2018
10:54:54
не могу себе придумать ситуации когда у меня будет браузер без js

если вдруг это будет более 0.1% пользователей (10%) и бизнесу эти безумцы будут важны - скорее всего я просто напишу нативную апу

Bohdan
14.10.2018
10:57:58
они ее юзать не будут, т.к. гугл/эппл - корпорация зла

Sergey
14.10.2018
10:58:28
другой пример

ты хочешь сделать "хорошо" тем немногим паранойикам которые выключают js в браузере - окей. То есть оптимизировать интерфейс для слабовидящих - это для тебя уже пройденный этап.

короч. Мое мнение такое - все это стоит денег (девелоперских часов). И тебе нужно хорошо понимать зачем ты это будешь делать и кому от этого будет хорошо. Системы где конфликты по данным частое явление + выключен JS - для меня это очень маловероятный сценарий. Настолько маловероятный что делать "удобной" работу этих немногих мне не выгодно

потому давай перестанем обсуждать абстрактных коней и приведи мне реальный кейс из реального проекта где бизнес был бы озабочен подобным. МОжешь даже просто начать с того, что у тебя в рамках одного сценария могут быть нарушены несколько инвариантов и тебе надо вывести все нарушения списком...

Страница 776 из 785