JavaRush /Курси /Claude Code SELF /Чому копії папок не працюють

Чому копії папок не працюють

Claude Code SELF
Рівень 3 , Лекція 0
Відкрита

Робочий лендінг, який, власне, чекає на правки, Тьома сьогодні тихо відсуває вбік. Його тягне назад до своєї 2048 — тієї, яку він зробив учора. Йому хочеться, щоб вона зірвала в офісі справжнє «вау». Він запускає її, ганяє пару ходів — і морщиться. Голі цифри на плитках раптом здаються нудними. А що, як замість чисел покласти туди щось інше?

Можна, наприклад, збирати машини з деталей. Але для цього потрібно малювати картинки, а йому хочеться швидшого результату. А швидше — це означає використати Emoji. Так, які emoji у нас є? Можна спробувати зробити щось на кшталт еволюції: амеба перетворюється на рибу, та — на жабу тощо.

У Тьоми в голові виникає гарна картинка, і він строчить Сашкові:

Заміни в 2048 цифри на еволюцію: амеба → риба → ящір → людина.

Сашко знову віджартовується:

— Якби за кожне завдання без ТЗ мені платили по долару, я б уже давно був мільйонером.

Тьома зітхає і йде до Льохи:

— Льохо, напиши мені, будь ласка, нове ТЗ для 2048. Хочу, щоб замість цифр там була еволюція тварин. Як картинки використовуй emoji.

— Зараз зроблю, — пише Льоха й береться до роботи.

Цікаво, думає Тьома. Як так виходить, що Льосі я пишу детальніше ТЗ, ніж Сашкові? Логічно було б навпаки... Але додумати він не встигає — Льоха вже написав готове ТЗ.

— Сашко, виправ, будь ласка, 2048 відповідно до нового ТЗ, — Тьома сам не помітив, як почав сприймати обох ШІ як своїх друзів. «Уміння казати «Дякую» і «Будь ласка» насамперед говорить про хороші манери», — згадує він чиєсь наставлення. Не памʼятає, чиє, але повністю з ним згоден. Будь-яку проблему можна вирішити словами.

Сашко закінчив роботу, і сторінка сама відкрилася в браузері. Тьома зливає дві плитки — амеба перетворюється на рибу, риба — на ящірку, — і фиркає від задоволення. Залипально ж.

— О, а давай ще, — і понеслося. — Зроби варіант із рослинами: паросток, кущ, дерево. — Готово. — Тепер машини: з вухатого жигулька збирається спорткар. — Готово.

Кожну він ганяє руками, регоче, порівнює. І ловить себе на дивній думці: раніше кайфом було грати. А зараз він у саму гру толком і не грає — він їх створює, одну за одною, і кайф змістився туди. Яка з них веселіша, яка зрозуміліша з першого погляду, яка просто смішніша. Місяць тому він би й одну таку не витягнув, а зараз вони вилітають з-під рук пачкою. Еволюція заходить найкраще — на ній він і залипає.

1. Як втрачають роботу без історії версій

Є приказка, що «кількість завжди переходить у якість». Але тільки не сьогодні. Варіанти гри накопичуються, і кожну шкода втратити — раптом саме ця версія була ідеальною, а наступна правка її зіпсує. Тьома вирішує питання найочевиднішим способом, який спадає на думку: він копіює всю папку проєкту цілком. Вийшла вдала тема — скопіював, відклав, пішов робити наступну.

Спочатку це навіть здається розумним. Одна тема — одна папка. Друга — ще одна. Потім папка 2048-final. Потім, коли поверх final він накрутив ще, зʼявляється 2048-final2. А коли й це виявилося не останнім, народжується шедевр — 2048-final-точно-последний. ШІ працює швидко, тому папки розмножуються, як гриби після дощу.

За годину Тьома розуміє, що далі так тривати не може. На екрані — десяток майже однакових папок із назвами одна безглуздіша за іншу, і він уже сам не памʼятає, де що живе. Відкриває final2, думаючи, що там свіже, — а там старе. Запускає точно-последний — а там, навпаки, недоробка, яку він кинув на півдорозі. Він починає запускати їх по черзі, намагаючись на око визначити, де найсвіжіша версія, — і швидко плутається ще дужче.

У якийсь момент він ловить себе на тому, що десять хвилин витратив не на гру, а на археологію власних папок. І це вже прикро до злості: він же копіював їх заради безпеки, щоб нічого не втратити. А по факту — втратив орієнтацію. Почав плутатися ще сильніше, ніж якби взагалі нічого не зберігав. Раніше була одна папка, і в ній — хай одна, але зрозуміла версія. Тепер десять, і жодної зрозумілої.

Повз проходить Олег. Погляд чіпляється за екран, за цей частокіл final, final2, точно-последний — і Олег фиркає. Але сміється він не злобно, не «ну ти й салага». Сміється тим особливим сміхом, у якому впізнавання сильніше за підкол.

— О, впізнаю, — каже він. — У мене так диплом був. Диплом_финал, Диплом_финал_испр, Диплом_финал_испр2, Диплом_вот_этот. Знаєш, чим закінчилося? Роздрукував не ту версію. На захист приніс чернетку з друкарськими помилками, а чистовик залишився лежати в финал_исправленный, до якого я не дійшов.

Тьома регоче разом із ним — голосно, з явним полегшенням, — а сам уже розгортає почуте на свою користь: ага, дядь Олег-то дорослий, реально працює, майстер і все таке. І наступив рівно на ті самі граблі, на які Тьома наступає просто зараз. Отже, ніякий він не криворукий новачок. Просто спосіб дурний — а вигадав його не він. І запит був саме такий.

— Слухай, а так у всіх? — питає він Олега в спину. — Не тільки в мене?

— У всіх, хто зберігає все папками, — кидає той через плече. — Спосіб кривий. На ньому спотикається кожен.

І від цього «у всіх» Тьомі якось навіть легше — косяк перестав бути особистою проблемою. Але легше — не означає, що відпустило. Жити в зоопарку папок він більше не хоче, це він тепер знає твердо. А як інакше — поки що ніяк.

І ось тут, на цьому «а як інакше», його й підмиває написати. Не до Льохи — до нього він ще дійде, — а в чат із Артем2036, бо з майбутнім собою про свої косяки говорити ніби й не соромно. Зопалу, як пишуть собі, коли накосячили й зляться: слухай, я тут наплодив десяток папок final, сам у них утонув, тепер не вилізу. Підкажеш нормальний спосіб зберігати зміни, га?

Артем2036
в мережі
Відповідь приходить не одразу і, як завжди, уривчаста — ніби частину слів дорогою хтось стер. І це не спосіб. Замість нього — коротке повідомлення з тією самою кривою усмішкою, яку Тьома вже знає від старого:

— 😏 О, склад копій. Пізнаю рідне ████. А ти сам-то що намагався зробити з цими папками? Скажи словами, не «папки», а навіщо.

Тьома аж фиркає: ось він завжди так — замість відповіді ставить питання. Але раз запитали — він починає відповідати, більше собі, ніж у чат. Навіщо папки? Ну, щоб не втратити вдалу версію. Щоб була точка, до якої можна повернутися, якщо наступна правка все зіпсує. Щоб відкотитися до моменту, коли було добре…

І на цьому слові — «відкотитися до моменту, коли було добре» — у нього в голові само собою клацає. Та це ж рівно те, що він робить в іграх. Перед босом зберігся, помер — завантажився, ніби й не помирав. Сейв. Він не папки хотів плодити. Він хотів сейв для коду — а папками просто ліпив його руками, криво, через одне місце.

Він перечитує, що сам намацав, і йому навіть смішно: старший не сказав жодного путнього слова, тільки перепитав «навіщо» — а Тьома за півхвилини сам собі й діагноз поставив, і зрозумів, чого просити. Не «як розкладати папки акуратніше». А кнопку Save/Load, як у грі, тільки для коду.

Із цим він іде до Льохи. Не зі скигленням про папки, а з готовим, чітко сформульованим питанням.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ