Plan-first до змін, review-first після них
У складних або ризикованих задачах не варто одразу просити Claude редагувати код. Спочатку потрібно дослідити поточну реалізацію, скласти план, погодити межі, внести невеликий diff, перевірити його і лише потім прийняти результат.
Це особливо важливо для платежів, refund-операцій, баз даних, авторизації та production-конфігурацій.
| Фаза | Результат |
|---|---|
| Explore | Карта коду, потоку даних, файлів, тестів і ризиків |
| Plan | Послідовність змін, межі та умови зупинки |
| Implement | Невеликий diff для одного пункту плану |
| Verify | Тести, логи, команди й очікувана поведінка |
| Review | Scope, сумісність, зайві файли та якість рішення |
| Commit / PR | Зрозумілий підсумок змін, перевірок і ризиків |
Приклад Explore → Plan для refund
- Знайти controller або іншу точку входу.
- Простежити виклики сервісів і платіжного клієнта.
- Перевірити наявні тести та сценарій повторної спроби.
- Оцінити ризик зміни зовнішнього API.
- Скласти короткий план із послідовністю кроків.
- Записати ризики та умови, за яких потрібно зупинитися.
1. Додати ідемпотентний захист у RefundService.
2. Передати ідентифікатор до PaymentClient.
3. Створити regression test для повторної спроби.
Ризики: зміна public API та вплив на retry-логіку. Implement невеликими кроками
Claude варто доручати один пункт плану за раз, обмежуючи дозволені файли та вимагаючи diff після кожного кроку. Раптове збільшення кількості файлів — сигнал зупинитися й переглянути напрямок.
git diff --stat
git diff Verify і Review відповідають на різні питання
- Verify перевіряє тести, команди, логи та очікувану поведінку.
- Review перевіряє scope, зайві файли, public contract і зрозумілість правки.
- Зелені тести не є автоматичним дозволом на merge.
| Етап | Питання |
|---|---|
| Verify | Чи працює реалізація відповідно до критеріїв? |
| Review | Чи прийнятна саме така зміна для проєкту? |
Коли потрібен повний процес
- незнайома частина системи;
- зміна кількох файлів;
- auth, payments, database або config;
- production-ризик або нечіткий scope;
- рефакторинг чи сумісність із зовнішнім API.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush