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

Как читать чужое

Claude Code SELF
15 уровень , 2 лекция
Открыта

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

После обеда Тёма, как всегда, сходил за кофе, но пришел к Лёхе с конкретным раздражением:

— Слушай, я не понимаю. Свой код я открываю и сразу вижу, что к чему. А этот подрядческий открываю — и как в тумане. Буквы те же, а не читается. Почему?

— А ты подумай, чем ты свой код читаешь, — отвечает Лёха. — Не глазами. Памятью. Ты же сам его писал. Помнишь, где что лежит, зачем вот эта строчка, как одно с другим связано. Глаз у тебя по своему коду скользит — и это нормально, потому что карта уже в голове. Ты не читаешь, ты вспоминаешь.

— А тут карты нет, — медленно говорит Тёма.

— Ну да. Чужой код памятью не прочитаешь — её просто нет. И самое подлое: привычка «глаз скользит» никуда не делась. Ты по чужому коду тоже скользишь — и пропускаешь то, что в своём знал бы наизусть. В своём это безопасно. В чужом — нет. Поэтому чужой код читается не так, как свой. Медленно и подозрительно. Каждый кусок взвешиваешь отдельно, а не пролистываешь «вроде ок». Скорость, которая в своём доме экономит время, в чужом — закладывает мину. Олег тебе уже про это сказал, я только объясняю почему.

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

Тёма пугается практической стороны:

— Подожди. Медленно и подозрительно весь этот файл? Да я неделю буду сидеть. Он огромный, и половину я всё равно не пойму — там логика подрядчика, я в неё не залезу.

— И не надо, — успокаивает Лёха. — Вот тут главный сдвиг. Когда правишь чужой код, читать надо не весь файл. А каждое изменение.

— В смысле — изменение?

— Смотри. Прочитать и понять весь чужой файл целиком — долго, а часто вообще невозможно, ты прав. А вот проверить, что конкретно агент только что поменял, — реально. Это маленький кусок. Это дифф — список того, что изменилось. Вот его ты и читаешь — медленно, подозрительно, каждую строчку. К каждому куску изменения один вопрос: это про задачу — или «заодно»?

Тёма пробует приложить к себе:

— То есть я не пытаюсь понять весь чужой модуль. Я смотрю только на след, который оставил агент. На то, что поменялось.

— Да. Объект твоего внимания — не «весь код», а «что именно меняется». Это выполнимо — и это ровно то, что помогает работать над любой задачей. Весь файл ты в голове не удержишь. А свой собственный дифф из десяти строк — легко.

Тёма вспоминает утренний комикс — дверь и перекрашенную квартиру — и усмехается уже не как над приколом.

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

— Вот видишь, доходит, — отзывается Лёха.

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

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

— Не на глаз. Есть три ящика, по которым раскладываешь каждое изменение, — Лёха разворачивает. — Первый — лишнее. Это когда агент «заодно» переформатировал, переставил отступы, причесал соседнее. Напрямую вроде не ломает. Но раздувает дифф и прячет настоящую правку — за косметикой не видно сути. В чужом коде особенно вредно: ты тонешь в причёсанном и не видишь, что реально изменилось.

— Это как раз то, что Саня мне натащил, — узнаёт Тёма.

— Оно самое. Второй ящик — опасное. Это когда он тронул не тот участок, зацепил соседний код, удалил нужное. Самый дорогой класс ошибок — потому что это то, что молча ломает работающее. Олег тебе про это только что и толковал, помнишь? Просто потом что-то перестало пахать, и ищи свищи. В чужом коде опасность выше всего: ты ведь не знаешь, что тут было важным.

— А третий?

— Третий — неожиданное. Это когда агент сделал больше, чем просили. Добавил «улучшение», которое ты не заказывал. Непрошеную анимацию, новую фичу, ещё что-то. И вот тут тонкость: это не всегда плохо. Иногда улучшение и правда дельное. Но оно всегда требует осознанного «да» — а не проскакивает само, пока ты моргнул.

Тёма складывает картину сам:

— То есть я беру дифф, иду по кускам и каждый кидаю в один из трёх ящиков. Лишнее — за борт. Опасное — наглухо за борт. Неожиданное — отдельно решаю, надо оно мне сейчас или нет.

— Вот так дифф и остаётся чистым, — кивает Лёха. — В проект идёт только нужное. А раскладывать по ящикам — это уже не философия. Это работа. И сейчас я покажу, чем это делается в Claude Code. Тут начинается самое интересное.

1
Задача
Claude code, 15 уровень, 2 лекция
Недоступна
CLI-карта lead, teammates и human checkpoint
CLI-карта lead, teammates и human checkpoint
1
Задача
Claude code, 15 уровень, 2 лекция
Недоступна
Исправление валидатора опасных обещаний про team
Исправление валидатора опасных обещаний про team
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ