Angular IDPStrong Junior
🔥 0

Модуль 9 · урок 5 з 9

Гігієна PR

Pull request — це не форма для галочки, а прохання витратити чужий час. Наскільки легко його виконати, залежить майже повністю від тебе. Гарний PR рев'юять за десять хвилин, поганий висить три дні.

Розмір — найважливіше

ЯКІСТЬ РЕВ'Ю РЯДКІВ У PR 200 400 600 уважне рев'ю, знаходять помилки «виглядає добре» без реального читання
Після приблизно двохсот рядків уважність рев'ювера різко падає. Це не про лінь, а про людську здатність тримати контекст.

Практичний висновок: краще три PR по двісті рядків, ніж один на шістсот. І це не лише про чужу зручність — маленький PR швидше проходить, тож і твоя робота не блокується на три дні.

Опис

## Що змінено
Додано фільтр за статусом у список задач. Стан фільтра живе в сторі
й віддзеркалюється в query-параметрах, тож відфільтроване подання
можна надіслати посиланням.

## Чому саме так
Фільтр міг би жити в компоненті, але тоді його не побачив би експорт
і не було б посилання. Стор уже тримає інші параметри списку,
тож логічно покласти туди й цей.

## Як перевірити
1. Відкрити /tasks
2. Обрати статус «Заблоковано»
3. Переконатись, що адреса змінилась і сторінка скинулась на першу
4. Оновити сторінку — фільтр має зберегтись

## Скріншоти
[до] [після]

Closes #12
Розділ «як перевірити» вирішує все

Рев'ювер не знає твоєї задачі так, як ти. Три рядки інструкції перетворюють «подивлюсь пізніше» на «перевірив за дві хвилини». Це найкорисніша частина опису й та, яку найчастіше пропускають.

Самостійне рев'ю перед відправкою

Обовʼязковий крок: відкрий власний PR і прочитай діф так, ніби він чужий. Половина зауважень знаходиться саме тут — до того, як їх побачить хтось інший.

Що шукати в собі
  • Забуті console.log і закоментований код.
  • Файли, які потрапили випадково.
  • fit і fdescribe у тестах.
  • Тимчасові назви: test2, tmp, asdf.
  • Місця, де сам не одразу згадав, як воно працює — там потрібен коментар.
Ознаки поганого PR
  • Назва «Fixes» або «Update».
  • Порожній опис.
  • Рефакторинг усього проєкту разом із однією фічею.
  • Не проходить CI, але «зараз полагоджу».
  • Сорок файлів, з яких тридцять — автоформатування.

Форматування окремим комітом

# ❌ фіча й переформатування разом — діф нечитабельний
feat(grid): add sorting        # 40 файлів, 1200 рядків

# ✅ окремо
style: apply prettier to tasks module    # 38 файлів, лише пробіли
feat(grid): add sorting                  # 3 файли, 180 рядків

Рев'ювер тоді може пропустити перший коміт одним поглядом і уважно прочитати другий. В обʼєднаному вигляді він не побачить нічого — реальні зміни потонуть серед пробілів.

Чеклист перед створенням PR

  • Гілка від свіжого main, конфліктів немає.
  • ng lint і ng test проходять локально.
  • Прочитав власний діф повністю.
  • Назва PR за форматом Conventional Commits.
  • В описі є «що», «чому» і «як перевірити».
  • Для змін в інтерфейсі — скріншот до і після.
  • Задача звʼязана.
Для навчального проєкту

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

≈ 30 хв · +25 XP за урок