Size: a a a

2020 July 02

T

Tharin in pro.elixir
И ведь отдельные валидации - это скорее преференс, нет?
источник

T

Tharin in pro.elixir
Roman Kolesnev
Он мне мешал делать классные вещи, которыя я бы мог сделать с Repository Pattern
Пример?
источник

RK

Roman Kolesnev in pro.elixir
Отвязать тесты бизнес логики от БД используя mock repository, например
источник

RK

Roman Kolesnev in pro.elixir
Иметь все SQL query примерно в одном месте для DRY и анализа
источник

RK

Roman Kolesnev in pro.elixir
Валидация - это не часть модели. Это скорее "часть контракта эндпоинта/RPC-call". С AR неудобно использовать разные валидационные схемы для одной и той же модели. Особенно когда multi-page entity create case.
источник

RK

Roman Kolesnev in pro.elixir
AR плохо впитывает DB constraints, Ecto - first class support.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Roman Kolesnev
Валидация - это не часть модели. Это скорее "часть контракта эндпоинта/RPC-call". С AR неудобно использовать разные валидационные схемы для одной и той же модели. Особенно когда multi-page entity create case.
Валидация это часть модели
источник

T

Tharin in pro.elixir
Валидации на тип поля :email - почему это не часть модели?
источник

T

Tharin in pro.elixir
Зачем это отдельно куда-то выносить, если у пользователя всегда поле email должно быть нужного формата?
источник

RK

Roman Kolesnev in pro.elixir
Так. Я немного разделяю. Валидируешь ты данные юзера. А типизация модели - это скорее typing.
источник

T

Tharin in pro.elixir
В какой бы части бизнес логики пользователь не создавался.
источник

RK

Roman Kolesnev in pro.elixir
Можно и не выносить
источник

T

Tharin in pro.elixir
Я валидирую персистентность )
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Модель - это и есть то что вводит user, или то что ты ему выводишь.
источник

T

Tharin in pro.elixir
У меня огромный монолитный проект на рельсе с очень большим количеством моделей. В каждой ну максимум 10 валидаций простых и сложных. Это не весть как сильно забивает класс. Сталкивался только с проблемами коллбеков в AR, от которых можно отказаться. Серьезно, очень много слышал "за" и "против". Писал и в репозитори-стиле на Ханами. Писал в 4 раза медленнее, потому что инструментарий просто или недоступен, или сломан. Приходится какие-то костыли доделывать, что-то вручную много чистого SQL писать.
источник

T

Tharin in pro.elixir
А басни о том, как что-то нельзя сделать с AR - так внятного ответа никогда и не получаю. Ну да, сложнее базу другую подключить, согласен. Но кому оно надо и в каких количествах?
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
Модель - это и есть то что вводит user, или то что ты ему выводишь.
это очень странное понимание слова "модель"
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Alex Bubnov
это очень странное понимание слова "модель"
Согласен, я хуйню какую-то сказал
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Отвык от моделей, ибо в экто их нету
источник

MS

Marat Safin in pro.elixir
Tharin
Зачем это отдельно куда-то выносить, если у пользователя всегда поле email должно быть нужного формата?
А может быть не должен, может ты ему через админку хочешь разрешить менять на что угодно
источник