1. Свій код читається памʼяттю, чужий — ні
Після обіду Тьома, як завжди, пішов по каву, але повернувся до Льохи з конкретним роздратуванням:
— Слухай, я не розумію. Свій код я відкриваю і відразу бачу, що до чого. А цей від підрядника відкриваю — і наче в тумані. Літери ті самі, а читати не виходить. Чому?
— А ти подумай, чим ти свій код читаєш, — відповідає Льоха. — Не очима. Памʼяттю. Ти ж сам його писав. Памʼятаєш, де що лежить, навіщо цей рядок, як усе між собою повʼязане. Око у тебе по своєму коду ковзає — і це нормально, бо карта вже в голові. Ти не читаєш, ти пригадуєш.
— А тут карти немає, — повільно каже Тьома.
— Ну так. Чужий код памʼяттю не прочитаєш — її просто немає. І найпаскудніше: звичка «око ковзає» нікуди не поділася. Ти й по чужому коду теж ковзаєш — і пропускаєш те, що у своєму помітив би відразу. У своєму це безпечно. У чужому — ні. Тому чужий код читається не так, як свій. Повільно й підозріло. Кожен шматок зважуєш окремо, а не гортаєш, ніби все ок. Швидкість, яка у своєму домі економить час, у чужому — закладає міну. Олег тобі вже це сказав, я лише пояснюю чому.
2. Обʼєкт читання — не файл, а зміна
Тьому лякає практична сторона:
— Погоди. Повільно й підозріло весь цей файл? Та я тиждень сидітиму. Він величезний, і половину я все одно не зрозумію — там логіка підрядника, я в неї не полізу.
— І не треба, — заспокоює Льоха. — Ось тут головний зсув. Коли виправляєш чужий код, читати треба не весь файл. А кожну зміну.
— У сенсі — зміну?
— Дивись. Прочитати й зрозуміти весь чужий файл цілком — довго, а часто взагалі неможливо, ти правий. А ось перевірити, що конкретно агент щойно змінив, — реально. Це маленький шматок. Це диф — список того, що змінилося. Ось його ти й читаєш: повільно, підозріло, кожен рядок. До кожного шматка зміни одне запитання: це про завдання — чи «заодно»?
Тьома приміряє це на себе:
— Тобто я не намагаюся зрозуміти весь чужий модуль. Я дивлюся тільки на слід, який залишив агент. На те, що змінилося.
— Так. Обʼєкт твоєї уваги — не «весь код», а «що саме змінюється». Це здійсненно — і саме це допомагає працювати над будь-яким завданням. Увесь файл ти в голові не втримаєш. А свій власний диф із десяти рядків — легко.
Тьома згадує ранковий комікс — двері й перефарбовану квартиру — і усміхається вже не як над приколом.
— Слухай, та це ж буквально та картинка з чату. Пофарбувати двері, а не всю квартиру. Моя робота — залишити в дифі тільки двері. А все інше, навіть якщо «стало охайніше» і «логічніше перейменовано», за замовчуванням не моє.
— Ось бачиш, доходить, — озивається Льоха.
3. Три класи змін
— А як зрозуміти, який шматок дифа відхиляти, а який ні? — Тьома хоче відразу фундаментального рішення. — На око?
— Не на око. Є три шухляди, за якими розкладаєш кожну зміну, — Льоха розгортає. — Перша — зайве. Це коли агент «заодно» переформатував, переставив відступи, причепурив сусіднє. Наче й не ламає. Але роздуває диф і ховає справжню правку — за косметикою не видно суті. У чужому коді це особливо шкідливо: ти тонеш у причепуреному й не бачиш, що реально змінилося.
— Це якраз те, що Сашко мені притягнув, — упізнає Тьома.
— Воно й так. Друга шухляда — небезпечне. Це коли він торкнувся не тієї ділянки, зачепив сусідній код, видалив потрібне. Найдорожчий клас помилок — бо це те, що мовчки ламає те, що працювало. Олег тобі про це щойно й розповідав, памʼятаєш? Потім щось перестало працювати, і шукай вітра в полі. У чужому коді небезпека найбільша: ти ж не знаєш, що тут було важливим.
— А третя?
— Третя — неочікуване. Це коли агент зробив більше, ніж просили. Додав «покращення», якого ти не замовляв. Непрохану анімацію, нову фічу, ще щось. І ось тут тонкість: це не завжди погано. Іноді покращення і справді корисне. Але воно завжди потребує свідомого «так» — а не проскакує саме, поки ти моргнув.
Тьома складає картину сам:
— Тобто я беру диф, іду по шматках і кожен кидаю в одну з трьох шухляд. Зайве — за борт. Небезпечне — без вагань за борт. Неочікуване — окремо вирішую, треба воно мені зараз чи ні.
— Ось так диф і лишається чистим, — киває Льоха. — У проєкт потрапляє тільки потрібне. А розкладати по шухлядах — це вже не філософія. Це робота. І зараз я покажу, як це робиться в Claude Code. Тут починається найцікавіше.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ