PR slice — одиниця планування та контролю
PR slice — це логічний шматок затвердженого плану, який можна зрозуміти, перевірити, відревʼювати та за потреби безпечно скасувати. Він не обовʼязково дорівнює одному commit або pull request.
Декомпозиція виконується після погодження Implementation Plan. Вона уточнює мінімальні кроки, але не підміняє постановку проблеми та дослідження.
| Поле slice | Перевірка якості |
|---|---|
| Єдиний намір | Чи робить крок одну логічну річ? |
| Обмежені файли | Чи всі файли безпосередньо потрібні? |
| Конкретна перевірка | Чи є один осмислений targeted check? |
| Acceptance link | Який критерій або ризик зменшується? |
| Scope boundary | Що явно не входить до slice? |
| Stop condition | Коли потрібно зупинитися й переглянути план? |
| Rollback | Чи можна окремо скасувати цей шматок? |
Приклад slices для порожнього кошика
Такий порядок спочатку зберігає доказ проблеми, потім відокремлює доменне правило від HTTP-рівня, а документацію оновлює після підтвердження фактичної поведінки.
| Slice | Мета | Перевірка |
|---|---|---|
| 1. Reproduce | Зафіксувати failure path | Regression request або failing test |
| 2. Domain rule | Відсіяти порожні дані до небезпечного виклику | Тест доменного сервісу |
| 3. HTTP mapping | Повернути погоджений API response | API test зі статусом і body |
| 4. Documentation | Синхронізувати контракт і приклади | Документ відповідає фактичній поведінці |
Погана декомпозиція приховує широкий scope
- Feature, refactoring і dependency update змішані в одному пункті.
- Формулювання на кшталт «переробити весь модуль» не мають меж.
- Список файлів розширюється випадково під час реалізації.
- Для кроку немає окремої перевірки або звʼязку з acceptance criterion.
- Доменна логіка змішується з HTTP mapping.
- Прихований cleanup робить rollback і review складнішими.
Контракт slice для Claude Code
- Дайте Claude одну мету, а не весь roadmap.
- Обмежте дозволені файли та явно назвіть non-goals.
- Вимагайте конкретний evidence після виконання.
- Перегляньте diff до переходу до наступного slice.
- Якщо крок виявився ширшим, зупиніться й поверніться до plan review.
Intent: add the empty-cart domain guard
Files: order service and its focused test
Verification: targeted empty-cart test plus valid-order test
Out of scope: API redesign, UI changes, unrelated cleanup
Stop: shared pricing behavior needs a broader change
Rollback: revert this slice without touching HTTP mapping Коли декомпозиція готова
- Інший інженер розуміє призначення кожного кроку без усного пояснення.
- Кожен slice має обмежену область файлів.
- Для кожного є одна осмислена перевірка.
- Видно звʼязок із acceptance criterion або конкретним ризиком.
- Є stop condition і спосіб окремого відкату.
- Slices малі, але не настільки дрібні, що втрачають практичний сенс.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush