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 pathRegression request або failing test
2. Domain ruleВідсіяти порожні дані до небезпечного викликуТест доменного сервісу
3. HTTP mappingПовернути погоджений API responseAPI test зі статусом і body
4. DocumentationСинхронізувати контракт і прикладиДокумент відповідає фактичній поведінці

Погана декомпозиція приховує широкий scope

  • Feature, refactoring і dependency update змішані в одному пункті.
  • Формулювання на кшталт «переробити весь модуль» не мають меж.
  • Список файлів розширюється випадково під час реалізації.
  • Для кроку немає окремої перевірки або звʼязку з acceptance criterion.
  • Доменна логіка змішується з HTTP mapping.
  • Прихований cleanup робить rollback і review складнішими.

Контракт slice для Claude Code

  1. Дайте Claude одну мету, а не весь roadmap.
  2. Обмежте дозволені файли та явно назвіть non-goals.
  3. Вимагайте конкретний evidence після виконання.
  4. Перегляньте diff до переходу до наступного slice.
  5. Якщо крок виявився ширшим, зупиніться й поверніться до 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