Аннигиляция rails-лапши с помощью dry-rb - Михаил Моргунов, Evrone. Ruby Russia 2023

  Рет қаралды 757

Evrone Development

Evrone Development

Күн бұрын

Подписывайтесь на наш канал в телеграмм t.me/meetups_evrone, чтобы быть в курсе будущих митапов и не пропускать полезные доклады!
Михаил Моргунов / Backend Teamlead в Evrone
Про пользу рефакторинга не рассказывает только ленивый. В интернете полно статей и докладов с кучей общих слов в духе Тони Робинсона: "Делать хорошо - хорошо, а делать плохо - плохо". Поэтому в своем докладе я хочу отойти от канона и рассказать о практике: как мы рефакторим легаси проекты с использованием dry-rb. Типичная цель рефакторинга это пожилой проект с кучей лапши, бизнес-логикой в шаблонах и моделях. Я покажу с чего начинаем рефакторинг, в каком порядке разбираем лапшу, что из dry мы используем в первую очередь, а что всего лишь "nice to have".
Ссылка на репозиторий: bitbucket.org/mikhailmorgunov...
00:00 Введение
00:42 Откуда берется легаси?
00:58 Чем плох легаси
01:43 Что можно делать с легаси?
02:18 Все начинается с rails controllers
03:58 Что такое dry-action
05:06 Распил dry-action по single responsibility principle
05:34 Что такое Interactor
07:29 Код из модулей выносится в интеракторы
07:46 Коллбэки из моделей выносятся в интеракторы
07:53 Интеракторы переиспользуются
08:00 Как я распиливаю dry-action на интеракторы
09:00 Навигация по коду после рефакторинга
09:38 Завершение
09:55 QA сессия

Пікірлер: 8
@ivankhoda
@ivankhoda 8 ай бұрын
Аннигиляция rails-лапши при помощи dry-rb-лапши :)
@mikhailmorgunovevrone4266
@mikhailmorgunovevrone4266 8 ай бұрын
😉c dry-rb кода меньше, инфа 100% 😃
@genrihkurz8116
@genrihkurz8116 4 күн бұрын
При перестановке слагаемых, количество лапши не меняется (с)
@STwegas
@STwegas 8 ай бұрын
18:23 - ждем репу )
@EvroneDevelopment
@EvroneDevelopment 7 ай бұрын
Добавили в описание, дублируем тут😊 bitbucket.org/mikhailmorgunov/dry-actions/src/master/
@tfatkulin
@tfatkulin 8 ай бұрын
Проверьте пожалуйста пульс у чувака.
@mikhailmorgunovevrone4266
@mikhailmorgunovevrone4266 8 ай бұрын
проверил! вроде все норм 😃
@tfatkulin
@tfatkulin 8 ай бұрын
@@mikhailmorgunovevrone4266 , ну слава богу!
Why You Should Always Help Others ❤️
00:40
Alan Chikin Chow
Рет қаралды 99 МЛН
100❤️
00:20
Nonomen ノノメン
Рет қаралды 66 МЛН
Принцип хорошего кода DRY (dont repeat yourself)
16:20
Sergey Nemchinskiy
Рет қаралды 70 М.
Программирование стало ЛЁГКИМ, когда я узнал это!
8:53
Евгений Афанасьев
Рет қаралды 9 М.
Mem VPN - в Apple Store
0:30
AndroHack
Рет қаралды 71 М.
📦Он вам не медведь! Обзор FlyingBear S1
18:26
WWDC 2024 Recap: Is Apple Intelligence Legit?
18:23
Marques Brownlee
Рет қаралды 5 МЛН
ВЫ ЧЕ СДЕЛАЛИ С iOS 18?!
22:40
Overtake lab
Рет қаралды 82 М.