@oop_ru

Страница 728 из 785
F01134H
29.08.2018
11:10:36
Речь вообще про НЕЙМИНГ

Sergey
29.08.2018
11:10:55
половина геттеры половина сеттеры) каша какая-то)

если про нэйминг)

Google
F01134H
29.08.2018
11:11:23
Если приватные\публичные методы как то влияют на состояние приложения, то название эксепшена - нет

это абсолютная вкусовщина

я спросил, как лучше

че начали то

Конкретно на твой плевать

Но тут есть умные люди

Sergey
29.08.2018
11:14:57
я спросил, как лучше
суффиксы не нужны

и каши нет

F01134H
29.08.2018
11:15:35
Окей. А что делать с абстрактными эксепшенами? Как я выше пример привел - ServiceException

Sergey
29.08.2018
11:15:48
F01134H
29.08.2018
11:16:06
Это исключение видоизмененное под мои бизнес требования

Sergey
29.08.2018
11:16:15
либо объясни что означает ServiceException

в каких ситуациях я хочу обрабатывать эту ошибку и что она значит

Google
Sergey
29.08.2018
11:16:34
этот класс ошибок*

и кто от него наследуется например

кто кидает

F01134H
29.08.2018
11:17:26
Большая часть исключений в приложении наследуется от него, т.к. в языке по умолчанию не предусмотрена возможность какой-то дополнительный payload пихать в эксепшены, чисто код + строка

а payload потом по логам раскидывается

Артур Евгеньевич
29.08.2018
12:08:55
я вообще практически отказался от наследования исключений

юзаю в старом коде естественно, но в новом просто беру и описываю ситуацию, и уже руками если что преобразую в более широкий тип на более высоком уровне

пример, у юзера нет прав на удаление, вот так будет выглядеть всплытие MysqlUserDoesntHavePermission->UserDoeыntHaveDbPermisson->AccessDenied->ResourceUpdateFailed

Dmitry
29.08.2018
13:57:01
как в репозитории правильно назвать метод, который по полям одного DAO устанавливает часть полей DO?

Dmitry
29.08.2018
13:59:47
map*Fields
void map*Fields(fromDAO, toDO) ?

F01134H
29.08.2018
14:00:15
ну я имею ввиду на место звезды какое-нибудь описание полей впихнуть

а так да, тип того выходит

Dmitry
29.08.2018
14:00:34
оок, благодарю

F01134H
29.08.2018
14:00:40
mapConcreteFields

Dmitry
29.08.2018
14:17:33
а создание объекта тоже через репозиторий происходит? т.е. вот прилетел DTO из какого-нибудь канала. потом вызывается в репозитории create*(DTO)? в котором объект мапится в DAO и уходит в сторадж? или это нужно напрямую в сторадж делать? И уже сторадж как-то оповещает репозиторий, что что-то изменилось и может ли репозиторий рассылать эвенты? ну всем подписчикам, что какой-то из списков объектов изменился

Dmitry
29.08.2018
14:59:07
м… я думал, что на это есть устоявшиееся архитектурное решение как цепочка от репозитория до DS — интуитивно понятно что и откуда а почему решение-то за меня принимать, когда я про ограничения спрашиваю? у Фаулера вообще по другому описано — DTO общается с DO через ассемблер. Ассемблер и порождает DTO, и обновляет DO. Он же по приходу DTO создаёт новый DO и скармливает его репозиторию вот этот подход не является стандартным? или про какое решение «за меня» ты говорил

Aleh
29.08.2018
21:08:19
Интересный случай

Google
Aleh
29.08.2018
21:08:19
Жуткие страсти творятся в JS-опенсорсе. Джеймс Кайл, один из создателей 6to5 (ныне Babel), Yarn и Lerna, поменял лицензию последнего из упомянутых проектов, запретив тем самым ее использование таким активным в опенсорсе компаниям, как Майкрософт. https://github.com/lerna/lerna/pull/1616 Бурления говн уже задели, например, TypeScript. А кто-то очень находчивый видимо вспомнил мем “Парень сфоткал меня пока я сплю. Люблю его” и форкнул любимую пока она MIT.

Sergey
29.08.2018
21:13:57
Ебнутые прост

так и вижу что чел который активно контрибьютит от какого-нибудь микрософта уезжает на уикенд куда нибудь в техас отстреливать мигрантов

Aleh
29.08.2018
21:22:15
Да сама идея о том, что мой код могут использовать только те, чьи политические убеждения совпадают с моими. Определенно точка зрения имеет право существовать, но стоит ли к ней прибегать

Особенно в такой тулзе

Aleh
29.08.2018
21:49:53
хорошо, что он код не пишет

Дмитрий
29.08.2018
21:50:21
Нескончаемый источник позитива, с нетерпением жду новых перфомансов ещё с "Dear javascript", тот самый случай, когда чем хуже — тем лучше

Дмитрий
30.08.2018
00:03:08
потому что опенсурс для коммунистов
Ну это как и обычный коммунизм, анархичная утопия) Без финансовой поддержки малореально сделать реально крупные проекты, плюс среди решений тоже должна быть конкуренция, иначе все быстро стагнируют

Sergey
30.08.2018
08:55:17
у них есть штуки которые они не могут запилить потому что и так сойдет если что)

Aleh
30.08.2018
08:55:58
мб микрософт просто кикнет их с гитхаба?

Sergey
30.08.2018
08:57:38
Какие?
больше про fail tolerant парсеры. Но их спасает то что они потребляют свой же продукт и потому им выгодно делать его лучше. Ну и всякие vscode есть

Aleh
30.08.2018
08:57:53
Ну, есть исключения. У IDE от jB нет конкурентов, но они не стагнируют.
И конкурентов ж туча, особенно в скриптовом мире

Andrey
30.08.2018
09:00:59
И конкурентов ж туча, особенно в скриптовом мире
Насчёт тучи сказать не могу. Но в среднем я всегда возвращался на jB IDE во всех случаях, кроме js. Flow у них очень плохо поддерживается.

Google
ivan
30.08.2018
09:08:39
Вопрос. Все говорят DTO это плохая штука. Насколько я понимаю проблема в том, что мы не контролируем данные. Они порождаются в одном месте - а во втором просто вытягиваются из этого объекта. Я правильно понимаю проблему?

Артур Евгеньевич
30.08.2018
09:10:13
Что значит DTO плохая штука? Я не слышал такого

Я юзаю DTO как типизированную структуру тупо ну и + сериализация десериализация опционально

Admin
ERROR: S client not available

Артур Евгеньевич
30.08.2018
09:11:11
Для общения между слоями и контекстами или микросервисами соотвтественно

Артур Евгеньевич
30.08.2018
09:11:58
Sergey
30.08.2018
09:11:58
Как это не контролируем, а как же тайпхинтинг, инварианты дтошек
у тебя нет инвариантов если dto имутабельны)

F01134H
30.08.2018
09:12:40
у тебя нет инвариантов если dto имутабельны)
А как же задание первоначального состояния?

Sergey
30.08.2018
09:12:54
А как же задание первоначального состояния?
это все прекондишены описывают

Артур Евгеньевич
30.08.2018
09:13:20
вообще валидация необязательна на мой взгялд там

ибо какая разница вот ты сформирешь дтоху и пошлешь отдашь ее в соседний контекст

он все равно ее парсить будет и валидировать значения полученные

ну т.е здорово если мы будем часть мусора обрубать еще на своей стороне

Sergey
30.08.2018
09:14:03
ну тип того, тот кто родил dto отвечает за консистентность данных, dto тупо структурка которая их в себе вмещает для того что бы передавать между компонентами, что бы связанность уменьшить

Артур Евгеньевич
30.08.2018
09:14:07
но не смертельно если не будем

Google
Артур Евгеньевич
30.08.2018
09:17:32
как это не должны, а как же contracts design
это допустими в рамках одного компонента/модуля

F01134H
30.08.2018
09:18:12
DbC не говорит об этом

Артур Евгеньевич
30.08.2018
09:18:20
а между двумя разными, я всегда ориентируюсь на правило что во входных данных может лежать любое гавно, кроме данных в нужном мне формате)

F01134H
30.08.2018
09:18:22
он говорит о ПО в целом

Sergey
30.08.2018
09:18:47
ну мол... тут как раз таки идея в том что если компоненту А нужны данные из компонента Б (опустим зачем) - то ассампшен А что Б всегда выполняет контракт

ivan
30.08.2018
09:18:47
ты лучше вот что скажи - какую альтернативу ты видишь раз они плохие?)
Я на 100% заявляю что они плохие (на 85% )) . Но если есть возможность написать норм объект а не DTO - тогда лучше не юзать DTO. Просто пишут в нете что DTO это анти паттерн. Решил узнать.

Sergey
30.08.2018
09:19:22
Я на 100% заявляю что они плохие (на 85% )) . Но если есть возможность написать норм объект а не DTO - тогда лучше не юзать DTO. Просто пишут в нете что DTO это анти паттерн. Решил узнать.
так, возможно есть недопонимание. DTO нужны для того что бы Трансферить Данные Объектом между слоями или подсистемами

альтернативы у DTO особо нет

Артур Евгеньевич
30.08.2018
09:19:33
да и вообще я заметил что между сервисами при распределенной системе опасно увлекать передачей дтошек, так как может получиться супер год инфо обджект который летает между всеми клиентами и серверами

F01134H
30.08.2018
09:19:43
я не особо понимаю, в чем тут анти паттерн)

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