JavaRush /Курси /Claude Code SELF /Коли проєкт шкода втратити

Коли проєкт шкода втратити

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

На третій день навчання Тьома прокидається ще в ліжку, з телефоном у руці. У чаті з Артем2036 угорі лежить свіжа картинка.

Тьома дивиться на ті двері довше, ніж хотів. Але, так нічого й не вирішивши, іде на роботу.

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

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

— Чого завис? — Олег притримує кружку біля столу, коситься в екран. — Раніше ти влітав у код, як у власну квартиру.

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

Олег хмикає — без підколки, з упізнаванням.

— О, вітаю. Доріс.

— До чого доріс?

— До того, що є що втрачати. — Олег відсьорбує з кружки. — Місяць тому твій код був порожній, цінності — нуль. Зламав — не шкода. А тепер ти власними руками довів штуку до ладу, і вона коштує грошей та нервів. Ось тобі й страшно. Це не боягузтво, салаго. У тебе просто вперше зʼявилося щось, що варто берегти.

Тьома мовчить, переварює почуте. Влучно.

— І знаєш, що смішно? — Олег киває на портал. — Ти зараз наступаєш рівно на мої старі граблі. Памʼятаєш, я тобі про диплом базікав? Диплом_финал, Диплом_финал_испр, Диплом_вот_этот?

— Це коли ти чорновик на захист притяг замість чистовика? — Тьома фиркає. — Памʼятаю.

— Во-во. Я тоді що робив? Боявся втратити хорошу версію — і плодив копії. Ти, — Олег знову тицяє в екран, — зараз хочеш робити те саме. Злякаєшся лізти в портал — почнеш папки ліпити: портал2, портал-фінал, портал-точно. І потонеш у них, як я в дипломі. Як ти сам у тому 2048 тонув.

Тьома кривиться — впізнає себе тритижневої давнини.

— Ну а як тоді? Узагалі не лізти? Так із місця не зрушиш.

1. Дорослі не плодять копій — у них сейф

— А дорослі копій не плодять, — Олег ставить кружку. — У дорослих для цього є своя штука. Називається Git. Чув, мабуть, краєм вуха?

— Чув. — Тьома киває. — Я тоді ще про нього замислився. Доросла система для збереження історії станів. Замислився — і вирішив не розбиратися, мовляв, зарано.

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

Тьома напружується.

— Стривай. А ти звідки про ніч знаєш?

— Та весь поверх знає, — усміхається Олег. — Портал ліг, ти по ньому /rewind гатив, а він не відкочував. Отже, слухай, чому не відкотив.

Він спирається на стіл — за справу береться стара школа.

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

Тьома повільно киває — та безнадія того ранку нарешті отримує імʼя.

— А Git? — запитує він.

— А Git живе на диску, разом із проєктом. Поверхом нижче, ніж твоя розмова. Зітри хоч десять сесій — точки Git як лежали, так і лежать. Ось тобі й різниця: /rewind — страховка розмови, Git — страховка самого проєкту. Тієї ночі тобі потрібен був нижній поверх, а збудований був лише верхній.

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

03:47  reward-flow.js — переписано
04:08  portal.js:15 — спростив перевірку
        (за всю ніч — жодної точки повернення)

Жодної точки повернення. Агент усю ніч ламав, переписував, вимикав шматки — і жодного разу не лишив позаду себе чесного «ось тут ще все працювало». Просто котився вперед по битому склу, і за спиною не було жодної цілої сходинки, на яку впасти. Ось, отже, чому той ранок був таким безнадійним. Не в кнопці річ. У тому, що падати було нікуди.

2. Доведіть, що провал можна відкотити

Думка про сейф уже засіла, але перш ніж кликати Олега розбиратися з Git, Тьома відкриває чат з Льохою — треба оформити саму задачу. На порталі чекає доопрацювання reward-flow, тієї самої зони нарахування винагороди. Тьома на автопілоті відкриває TASK_SPEC і розписує звичне: що зламано, що має запрацювати, як зрозуміємо, що готово.

Льоха після нічного вигорання говорить напівголосом — на довгі розбори в нього немає сил. Але одного запитання не пропускає:

— Ти розписав, як виглядає успіх. А як виглядає безпечний провал? Якщо спроба зірветься — портал переживе? Доведи.

Тьома відкриває рот і закриває. У бланку — тільки успіх. А про провал — ніде. Виходить, доводити треба не лише «фіча запрацює», а й «у провалу є чистий вихід».

— Ну і куди ти повернешся, якщо поїде? — не відстає Льоха. — І головне: як ти цей провал розгрібатимеш — руками дочищатимеш чи…

— …або викину всю криву спробу, — сам ловить себе Тьома. Дочищати руками — це рівно те болото тієї ночі, де він виколупував правки по рядку і так і не був упевнений, що вичистив усе. — Не дочищаю. Викидаю всю криву спробу й падаю на чисту точку.

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

Тьома дописує в TASK_SPEC страховий контур: робота йде осторонь, на окремій лінії; до старту — точка повернення; перед прийняттям — обовʼязковий перегляд; провал не дочищається, а викидається весь.

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

— Дядьку Олеже, ти про сейф почав — продовжуй. Як він усередині влаштований?

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