Отзывы общества
Дата обновления перевода 2024-07-17
Отзывы общества
Symfony - это открытый проект, которым управляет большое общество. Если вам кажется, что вы н готовы вкладывать в виде кода или патчей, отзывы на проблемы и запросы на включение (ЗВ) могут стать отличным началом, чтобы участвовать в создании Symfony. В действительности, люди, которые "отбраковывают" проблемы, являются костяком успеха Symfony!
Note
Общаться так, чтобы ваши слова доходили до адресата как было задумано, бывает непросто. Пожалуйста, ознакомьтесь с рекомендациями по Уважительным комментариям к рецензиям.
Почему отзывы важны
Отзывы общества важны для разработки фреймворка Symfony, так как запросов на включение и заявлений о багах намного больше, чем членов в базовой команде Symfony для просмотра, исправления и слияния.
В трекере проблем Symfony вы можете изменять многие объекты в статусе Требует отзыва:
- Отчёты о багах: Отчёты о багах должны быть проверены на завершённость. Отсутствует ли важная информация? Может ли баг быть с лёгкостью воспроизведен?
- Запросы на включение: Запросы на включение содержат в себе код, который исправляет баг или реализует новые функции. Отзывы на ЗВ гарантируют, что они реализуются правильно, охватываются тестами и не вносят новых багов, придерживаясь при этом обратной совместимости.
Отметьте, что все, кто немного знаком с Symfony и PHP, могут писать отзывы на заявления о багах и запросы на включение. Вам не нужно быть экспертом, чтобы помочь.
Будьте конструктивны
До того, как начать, помните, что вы смотрите на результат чьей-то тяжёлой работы. Хороший комментарий включает в себя благодарность вкладчику за работу, идентифицирует, что сделано хорошо, что стоит улучшить и предлагает следующий шаг.
Создайте учётную запись GitHub
Symfony использует GitHub, чтобы управлять отчётами о багах и запросами на включение. Если вы хотите писать отзывы, вам нужно создать учётную запись GitHub и войти в неё.
Процесс написания отзыва на заявление о баге
Хороший способ начать - выбрать заявлеие о баге из заявлений о багах, нуждающихся в отзыве.
Шаги рецензирования следующие:
Завершено ли заявление?
Хорошие заявления о багах содержат ссылку на проект ("проект воспроизведения"),
cозданный с помощью Symfony skeleton , который воспроизводит баг. Если ссылки нет, то заявление должно хотя бы содержать достаточное количество информации и примеров кода, чтобы воспроизвести баг.Воспроизведите баг
Загрузите проект воспроизведения и проверьте, можно ли воспроизвести баг
на вашей системе. Если автор сообщения не предоставил проект воспроизведения, создайте его с помощью Symfony skeleton.Обновите статус проблемы
В конце-концов, добавьте комментарий в заявление о баге. Поблагодарите за заявление о баге. Включите в ваш комментарий строку
Status: <status>
, чтобы запустить наш Carson Bot, который обновляет ярлык статуса проблемы. Вы можете установить один из следующих статусов:Требует доработки Если баг не содержит достаточно информации, чтобы быть воспроизведённым, объясните, какой информации не хватает, и переместите заявление в этот статус.
Работает для меня Если баг содержит достаточно информации, чтобы быть воспроизведённым, но работает в вашей системе, или если завяленный баг является функцией, а не багом, предоставьте краткое объяснение и переместите заявление в этот статус.
Рассмотрено Если вы можете воспроизвети баг, переместите заявление в этот статус. Если вы создали проект воспроизведения, добавьте ссылку на проект в ваш комментарий.
Пример
Вот образец комментария к заявлению о баге, который можно было воспроизвести:
1 2 3 4 5
Спасибо, @weaverryan, за создание этого заявления о баге! Это действительно
выглядит, как баг. Я воспроизвёл баг в ветке "kernel-bug" branch of
https://github.com/webmozart/symfony-standard.
Статус: Рассмотрено
Процесс написания отзыва на запрос на включение
Процесс написания отзыва на запросы на включение (ЗВ) схож с процессом для заявлений о багах. Отзывы на запросы на включение обычно занимают немного больше времени, так как вам нужно понять функционал, который был исправлен или добавлен, и узнать, является ли реализация полной.
Можно писать отзывы частично! Если вы напишите частичный отзыв, прокомментируйте то, как далеко вы зашли, и оставьте ЗВ в состоянии "Требует отзыва".
Выберите запрос на включение из из ЗВ, требующие отзывов и следуйте этим шагам:
Является ли ЗВ завершённым?
Каждый запрос на включение должен содержать заголовок, который предоставляет некоторую базовую информацию о ЗВ. Вы можете найти шаблон такого заголовка в Правилах внесения вклада.
Правильная ли ветка?
GitHub отображает ветку, на которой основан ЗВ, под заголовком запроса. Является ли она правильной?
- Баги должны быть исправлены в самой старшей содержащейся версии, в которой найден баг. Смотрите e629093fc2e2173f6b847342827974f7df0506d4, чтобы найти самую старую версию, поддерживаемую на текущий момент.
- Новые функции должны быть всегда добавлены к текущей версии разработки. Смотрите Карту Symfony, чтобы найти текущую версию разработки.
Воспроизведите проблему
Прочтите о проблеме, которую должен исправить запрос на включение. Воспроизведите проблему в чистом проекте, созданном с помощью Symfony skeleton, и попробуйте понять, почему она существует. Если проблема уже содержит такой проект, установите его и запустите в своей системе.
Напишите отзыв на код
Прочтите код запроса на включение и проверьте его на соответствие некоторым общим критериям:
- Соответствует ли код проблеме, которую должен исправить / реализовать ЗВ?
- Остаётся ли ЗВ в рамках для того, чтобы разобраться только с этой проблемой?
- Содержит ли ЗВ автоматизированные тесты? Охватывают ли эти тесты все важные пограничные случаи?
- Содержит ли ЗВ существенные комментарии, чтобы можно было с лёгкостью понять его код?
- Нарушает ли код обратную совместимость? Если да, сообщает ли об этом заголовок ЗВ?
- Содержит ли ЗВ устаревания? Если да, сообщает ли об этом заголовок ЗВ? Содержит
ли код утверждения
trigger_deprecation()
для всех устаревших функций? - Задокументированы ли все устаревания и нарушения ОС в последнем файле UPGRADE-X.X.md? Содержит ли эти объявнения примеры "До / После" с чёткими инструкциями по обновлению?
Note
Впоследствии, некоторые из этих аспектов будут проверены автоматически.
Протестируйте код
Возьмите ваш проект из шага 3, и протестируйте, правильно ли работает ЗВ. Замените ваш проект Symfony в каталоге
vendor
кодом в ЗВ, выполнив следующие команды Git. Вставьте ID ЗВ (это номер после#
в названии ЗВ) вместо заполнителей<ID>
:1 2 3
$ cd vendor/symfony/symfony $ git fetch origin pull/<ID>/head:pr<ID> $ git checkout pr<ID>
Например:
1 2
$ git fetch origin pull/15723/head:pr15723 $ git checkout pr15723
Теперьо вы можете протестировать проект с кодом в ЗВ.
Обновите статус ЗВ
Наконец, добавьте комментарий в ЗВ Поблагодарите вкладчика за работу над ЗВ. Включите в ваш комментарий строку
Status: <status>
, чтобы запустить наш Carson Bot, который обновляет ярлык проблемы. Вы можете установить один из следующих статусов:Требует доработки Если ЗВ ещё не готов к слиянию, объясните проблемы, которые вы нашли, и укажите этот статус.
Рассмотрено Если ЗВ удовлетворяет все требования выше, укажите этот статус. Базовый вкладчик вскоре рассмотрит ЗВ и решит, можно ли его слиять, или он требует доработки.
Пример
Вот образец комментария для ЗВ, который ещё не готов к слиянию:
1 2 3 4 5
Спасибо, @weaverryan, за работу над этим! Похоже, что ваше тестирование
не охватывает случаи, когда счётчик равен нулю или меньше. Можкте ли вы,
пожалуйста, добавить тесты для этого?
Статус: Требует доработки