Legacy, якого більше не бояться
На кожному великому проєкті є місце, куди всі бояться заходити. Це той темний куточок з кодом, який виконує свою роботу, проте ніхто не знає деталей — як і чому. Його імʼя всі знають, але не кажуть вголос, бо це — legacy.
Причини різні. Буває, що авторка вже залишила компанію і знання не були передані чи задокументовані. Чи над цим місцем працювали кілька команд, кожна зі своїми цілями, і жодна так і не мала офіційної власності над функціоналом.
У сухому залишку, в якийсь момент треба це місце полагодити чи привести до ладу.
Добре, якщо поштовх йде зсередини — міграція чи хтось нарешті вирішив зрозуміти деталі. Зовсім халепа, коли ззовні — ця чорна скринька впала в продакшн.
Раніше треба було запастися терпінням, кавою і пірнути в дивовижний світ legacy та сивого волосся.
Проте зараз, нарешті, ми маємо помічника в цій нелегкій справі — ШІ-асистенти.
Сильна сторона LLM — це вміння аналізувати текст та перефразовувати його за запитом. Це саме те, що потрібно в нашому випадку з забутим кодом.
Цього тижня я мав задачу зʼясувати, як працює pipeline, що видає на виході майже 300 фіч.
Це був класичний набір для відлякування джавістів:
- я приєднався до компанії, коли він вже працював
- від авторів лишились лише ніки в VCS та сухі commit-повідомлення
- використовує купу даних з ETL
- його кілька разів мігрували за цей час
- написаний на Python
Тому зараз він виглядає як дикий Захід.
Не гаючи часу, я клонував репозиторій та закинув промпт у Claude Code. І через дві хвилини вже мав звіт по роботі всієї логіки: звідки що беремо, як перетворюємо, де складаємо.
Далі кілька уточнень та перевірок і вуаля — опис поточного стану системи готовий.
Потім перекинув все це до Gemini та попросив згенерувати кілька діаграм в PlantUML. І ось маємо готову візуалізацію.
Це все нам з командою допомогло зрозуміти, як краще цей успадкований скарб переробити, аби нарешті взаємодія з ним не сприймалась як покарання.
Тепер ще лишається зробити саму роботу, а не тільки її описати та запланувати. Але й там мені допоможе Claude.
Я задоволений і вражений тим, наскільки у цьому моменті ШІ полегшив моє життя. Я б зробив той аналіз сам, але так ці кілька годин, можливо, підуть на щось більш цікаве.
- Як вам ШІ допомагає боротись з legacy?
- Чи маєте якісь поради, як ефективніше аналізувати кодову базу з LLM?
Буду радий почитати ваші відповіді в коментарях ⤵️
Більше про ШІ та технології у моєму Telegram-каналі.
Запрошую до читання моїх публікацій на Medium чи Substack.
Також на DOU є й інші мої дописи.
4 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів