TGViewer
OverrideTech Анатолий Марандюк OverrideTech Анатолий Марандюк @overridetech · 1.11K subscribers
Post #527 4.65K
#Смузиликбез
Как лучше подходить к изучению легаси кода, есть ли какая-то крутая хитрая схема по рефакторингу?

Ответ очень сильно зависит от степени жести, которая предлагается к изучению, поэтому постараюсь накидать максимально общий алгоритм, который может помочь справится с любым самым адовым дерьмом, в которое по воле случае можно наступить:

1. Поищите документацию. Она может быть лихо запрятана. Не лишним будет посерфить по вики базе знаний, используя специфичные ключевые слова из доставшегося вам репозитория. Осмотрите код на наличие ссылок на документы или задачи.

2. (!) Обязательно помните, что любая документация может быть неактуальной. Особенно для старого, как говно мамонта, проекта. Используйте ее, чтобы “вкатиться” в проект и побыстрее разобраться с чем предстоит иметь дело, где искать нужный вам участок кода хотя бы примерно. Не доверяйте ей в полной мере. Коду тоже не доверяйте. Он может работать не так, как написан. (Могу написать про это пост с ахерительной историей о траблшутинге длиною в два месяца, хотите?)

3. Изучайте гит историю. Поиграйте в сыщика. По тайтлам пул реквестов или коммит месседжам можно выловить немало закономерностей. Понять предпосылки тех или иных решений и сократить себе путь к выполнению задачи.

4. Отключите чувство прекрасного на время. Не пытайтесь быть порядочным разработчиком. Скорее всего этого никто не оценит, а проблем может прибавиться. Любые изменения в легаси - это потенциальные выстрелы в собственную коленку. Не надо сломя голова бросаться рефакторить и наводить лоск. Чем масштабнее изменения - тем, возможно, больнее вам будет в ближайшем будущем.

5. Отыскав нужный вам шмат дерьма в компостной куче, постарайтесь хорошенько его размять до затвердевания. Это я о тестах, конечно же. Они могут быть, нет, они просто обязаны быть кустарными. Главное - получить хоть какую-то уверенность, что после внесения изменений поведение кода не сильно поменялось. Для этого лучше всего подойдет интеграционный тест.

6. Найдите ревьювера. Авторы, скорее всего, уже не работают в компании, если вообще живы. Постарайтесь отыскать мамонта с немалым стажем работы в компании. Он убережет вас от резких необдуманных маневров.

Бонус 🥤
7. Постоянно нойте на всех возможных митингах о том, какая нелегкая доля вам досталась. Если вдруг отлично справитесь, надо не получить статус эксперта по этому дерьму. Пусть менеджер боится, что в следующий раз вы уволитесь.

Еще посты в рубрике ответов на вопросы студентов:
- Что такое костыль?
- За какое время нужно бегать спринт?
- Работают ли разработчики 8 часов?
  • 🔥 18
  • ❤ 7
More from @overridetech
  1. Aug 26, 2026Айти все Ну чо, дожили, в айти теперь не вкатиться. Ладно-ладно, шучу, это дешевый байт, ч…
  2. May 5, 2026Почему хотите уйти? В сущности простой, безобидный вопрос. Правда, на него 80% клиентов мо…
  3. Apr 17, 2026Карьерная диверсификация, ч.2 - Мне посчастливилось начать карьеру в золотые годы айти. Ба…
  4. Apr 17, 2026Карьерная диверсификация, ч.1 У вас же есть ощущение, что мир вокруг рушиться? Наверняка,…
  5. Apr 1, 2026Мастер спорта по всему Я рос в парадигме “сэкономил - считай заработал”. Ну то есть если ч…
  6. Mar 27, 2026Минус одно очко Гриффиндору (за многозадачность) Я большой любитель начинать всякие авантю…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →