🔥

Тред (@sem_eleven)


Вчера выяснили, что в вебе есть "наследие" в виде логин/пароль аутентификации. А сегодня давайте поговорим, в целом, про легаси в проектах. Что вы, в первую очередь, делаете, приходя на проект, где "все переплетено, море нитей, но" ни одного авто-теста?

Есть мнение, что на проекты с легаси сложно найти разработчиков. «Никто не хочет разгребать старое дерьмо» и тд. Но кажется, дело не сколько в легаси, сколько в подходах к работе с ним

Расскажу на примере нашей команды PS: Хотя бывает такое, что приходится бороться в одиночку. Если вы в такой ситуации, советую посмотреть доклад @SerdgYastreb - очень мотивирует youtu.be/yADGRe4CO2U

Все начиналось с набора команды, способной работать с легосятиной. В требованиях было - понимание и опыт осознанного рефакторинга, грамотное код ревью. Проверял это демонстрацией плохого кода из проекта. Таким образом я мог увидеть реальную работу человека над настоящим кодом

Ну а человек мог понять, во что он ввязывается 🙂

Когда команда есть, очень важно поддерживать сплоченность против общего врага - легаси. Для этого мы проводим еженедельные собрания «рыцарей фронтенда»
notion image

this is how 90% of my projects go pic.twitter.com/max8lOYFkv
На рыцарских сборах мы обсуждаем насущные проблемы и пытаемся найти для них решения twitter.com/chrisoncode/st…

Когда проблемы видны - их важно заносить в issue трекер. У нас для тех долга есть специальный лейбл «тех долг». Благодаря этому, когда у человека есть затишье по основному направлению, всегда понятно, что можно сделать полезного

@jsunderhood Создаю папку v2
Конечно, можно было бы забить на текущую реализацию системы и рядом строить прекрасный дивный мир. А потом, через пару лет его зарелизить twitter.com/blvdmitry/stat…

Но мы решили пойти по пути непрерывной интеграции новой реализации в старую. Этот подход @mishunov назвал «Франкенштейн миграция» Подробнее в интереснейшем докладе youtu.be/CaP5eAylYpI

Но как понять, что жизнь улучшается и легаси становиться меньше? В этом помогут разобраться метрики. Например: Процент копипасты Размер итогового бандла Скорость сборки Соотношение строк старой и новой версии А какие метрики есть у вас?

Ну и конечно, всегда под рукой держим великолепное руководство по улучшению кода от @martinfowler
notion image