Як мейнтейнер, ми досить регулярно переглядаємо pull request. У цьому документі зібрано рекомендації щодо перегляду pull request, прийняті в Exercism.
Переглядати pull request до Concept Exercise чи Practice Exercise буває складно, адже з цими типами вправ повʼязано багато правил. Саме тому первинний перегляд силами одного мейнтейнера часто займає дві-три години й дає десятки коментарів. А для Concept Exercise є ще й файли зі схожими цілями та вмістом (наприклад, вступ до вправи та вступ до концепції), і тут важливо спершу довести до пуття щось одне, перш ніж надто широко розгалужуватися.
Щоб спростити цей процес, ми підготували такі рекомендації.
Причини, чому первинний перегляд має вести саме один досвідчений мейнтейнер, такі:
status зі значенням wip
Коли і контрибʼютор, і мейнтейнер задоволені вправою, її варто злити зі status зі значенням wip (wip означає «робота в процесі»).
Вправи з таким статусом не будуть доступні учням, але їх зможуть переглядати наші найкращі наставники (коли ми колись це реалізуємо).
Ці користувачі з високою репутацією зможуть протестувати вправу й створити issue або pull request, щоб виправити чи покращити її.
Основні переваги такого підходу:
Частина вмісту Practice Exercise (наприклад, її вступ) походить зі спільних метаданих, визначених у репозиторії problems-specifications. Переглядаючи pull request, який змінює такий вміст, подумаймо, чи не буде ця зміна корисною й для інших треків. Якщо так, варто запропонувати контрибʼютору відкрити pull request до відповідного файлу в репозиторії problems-specifications
У кожного pull request має бути один головний рецензент (той мейнтейнер, який його взяв). Інші мейнтейнери та/або учасники спільноти діють у другорядній ролі.
Є два основні способи, у які людина в другорядній ролі може долучитися до перегляду:
Переглядаючи pull request, коментуймо лише те, що безпосередньо з ним повʼязано. Усе інше варто винести в окремий issue або створити для нього окремий (наступний) pull request.
Коли це можливо, варто завжди посилатися на документацію, яка пояснює, чому ми щось коментуємо. Це дуже допомагає зменшити ймовірність того, що обговорення перетвориться на суперечку.
Якщо потрібна допомога з переглядом pull request, можна звернутися до двох конкретних команд:
@exercism/reviewers: для будь-яких загальних переглядів@exercism/github-actions: для будь-яких запитань щодо GitHub actions