JavaRush /Курси /Claude Code SELF /Як читати чуже

Як читати чуже

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

1. Свій код читається памʼяттю, чужий — ні

Після обіду Тьома, як завжди, пішов по каву, але повернувся до Льохи з конкретним роздратуванням:

— Слухай, я не розумію. Свій код я відкриваю і відразу бачу, що до чого. А цей від підрядника відкриваю — і наче в тумані. Літери ті самі, а читати не виходить. Чому?

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

— А тут карти немає, — повільно каже Тьома.

— Ну так. Чужий код памʼяттю не прочитаєш — її просто немає. І найпаскудніше: звичка «око ковзає» нікуди не поділася. Ти й по чужому коду теж ковзаєш — і пропускаєш те, що у своєму помітив би відразу. У своєму це безпечно. У чужому — ні. Тому чужий код читається не так, як свій. Повільно й підозріло. Кожен шматок зважуєш окремо, а не гортаєш, ніби все ок. Швидкість, яка у своєму домі економить час, у чужому — закладає міну. Олег тобі вже це сказав, я лише пояснюю чому.

2. Обʼєкт читання — не файл, а зміна

Тьому лякає практична сторона:

— Погоди. Повільно й підозріло весь цей файл? Та я тиждень сидітиму. Він величезний, і половину я все одно не зрозумію — там логіка підрядника, я в неї не полізу.

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

— У сенсі — зміну?

— Дивись. Прочитати й зрозуміти весь чужий файл цілком — довго, а часто взагалі неможливо, ти правий. А ось перевірити, що конкретно агент щойно змінив, — реально. Це маленький шматок. Це диф — список того, що змінилося. Ось його ти й читаєш: повільно, підозріло, кожен рядок. До кожного шматка зміни одне запитання: це про завдання — чи «заодно»?

Тьома приміряє це на себе:

— Тобто я не намагаюся зрозуміти весь чужий модуль. Я дивлюся тільки на слід, який залишив агент. На те, що змінилося.

— Так. Обʼєкт твоєї уваги — не «весь код», а «що саме змінюється». Це здійсненно — і саме це допомагає працювати над будь-яким завданням. Увесь файл ти в голові не втримаєш. А свій власний диф із десяти рядків — легко.

Тьома згадує ранковий комікс — двері й перефарбовану квартиру — і усміхається вже не як над приколом.

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

— Ось бачиш, доходить, — озивається Льоха.

3. Три класи змін

— А як зрозуміти, який шматок дифа відхиляти, а який ні? — Тьома хоче відразу фундаментального рішення. — На око?

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

— Це якраз те, що Сашко мені притягнув, — упізнає Тьома.

— Воно й так. Друга шухляда — небезпечне. Це коли він торкнувся не тієї ділянки, зачепив сусідній код, видалив потрібне. Найдорожчий клас помилок — бо це те, що мовчки ламає те, що працювало. Олег тобі про це щойно й розповідав, памʼятаєш? Потім щось перестало працювати, і шукай вітра в полі. У чужому коді небезпека найбільша: ти ж не знаєш, що тут було важливим.

— А третя?

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

Тьома складає картину сам:

— Тобто я беру диф, іду по шматках і кожен кидаю в одну з трьох шухляд. Зайве — за борт. Небезпечне — без вагань за борт. Неочікуване — окремо вирішую, треба воно мені зараз чи ні.

— Ось так диф і лишається чистим, — киває Льоха. — У проєкт потрапляє тільки потрібне. А розкладати по шухлядах — це вже не філософія. Це робота. І зараз я покажу, як це робиться в Claude Code. Тут починається найцікавіше.

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