Size: a a a

2020 March 26

AI

Alex Ilizarov in pro.ruby
Ребят я может не сеньор, но огребал на рельсах уже очень много
источник

AI

Alex Ilizarov in pro.ruby
Юзайие сервисы и форм обжекты, на засирайте контроллеры и модели, это потом невозможно будет поддерживать
источник

МВ

Максим Вейсгейм in pro.ruby
Согласен
источник

AI

Alex Ilizarov in pro.ruby
Я прилично уже в легаси поплавал.
источник

МВ

Максим Вейсгейм in pro.ruby
Тонкие модели
источник

МВ

Максим Вейсгейм in pro.ruby
Тонкие контроллеры
источник

AI

Alex Ilizarov in pro.ruby
Чем меньше объекты связаны в системе, тем проще менять детали
источник

МВ

Максим Вейсгейм in pro.ruby
Форм обджект - валидация фходных параметров
источник

I🍻

Ivan 🍻 in pro.ruby
Сколько я говна в рельсах поел и могу сказать что проблемы в валидации данных просто не должны возникать, что то не так делаете
источник

I🍻

Ivan 🍻 in pro.ruby
Это самая простая таска
источник

I🍻

Ivan 🍻 in pro.ruby
Можно сказать 0 поинтов
источник

AI

Alex Ilizarov in pro.ruby
Ivan 🍻
Сколько я говна в рельсах поел и могу сказать что проблемы в валидации данных просто не должны возникать, что то не так делаете
Ты когда в модельке делаешь валидацию, потом какой нибудь after_save хук, потом factory_girl + rspec то ты очень быстро наезжаешь на айсберг
источник

AI

Alex Ilizarov in pro.ruby
Потому что тестировать при наличии кучи бизнестребований становится сложно
источник

AI

Alex Ilizarov in pro.ruby
Особенно когда у модельки должны быть разные валидации в зависимости от ситуации
источник

AI

Alex Ilizarov in pro.ruby
Затем твои интеграционные тесты или/и фабрики становятся огромными и сложно поддерживаемыми потому что пляшут от валидаций модели
источник

AI

Alex Ilizarov in pro.ruby
В конце концов ты тонешь
источник

AI

Alex Ilizarov in pro.ruby
А если ты пишешь рельсовое приложение с кучей интеграций ты практически гарантированно натыкаешься на сложную логику и требования
источник

AI

Alex Ilizarov in pro.ruby
Зато форм обжекты гораздо проще тестируются. Один кейс - одна форма.
источник

AI

Alex Ilizarov in pro.ruby
Для них даже бд не нужна, что ускоряет тесты в разы.
источник

AI

Alex Ilizarov in pro.ruby
Ну а если ты тесты не пишешь, то твое приложение при наличии какой никакой кодовой базы постепенно превращается в гавномонолит. В котором даже один гем обновить страшно, не то что версию рельс.
источник