Отзывы общества

Дата обновления перевода 2024-07-17

Отзывы общества

Symfony - это открытый проект, которым управляет большое общество. Если вам кажется, что вы н готовы вкладывать в виде кода или патчей, отзывы на проблемы и запросы на включение (ЗВ) могут стать отличным началом, чтобы участвовать в создании Symfony. В действительности, люди, которые "отбраковывают" проблемы, являются костяком успеха Symfony!

Note

Общаться так, чтобы ваши слова доходили до адресата как было задумано, бывает непросто. Пожалуйста, ознакомьтесь с рекомендациями по Уважительным комментариям к рецензиям.

Почему отзывы важны

Отзывы общества важны для разработки фреймворка Symfony, так как запросов на включение и заявлений о багах намного больше, чем членов в базовой команде Symfony для просмотра, исправления и слияния.

В трекере проблем Symfony вы можете изменять многие объекты в статусе Требует отзыва:

  • Отчёты о багах: Отчёты о багах должны быть проверены на завершённость. Отсутствует ли важная информация? Может ли баг быть с лёгкостью воспроизведен?
  • Запросы на включение: Запросы на включение содержат в себе код, который исправляет баг или реализует новые функции. Отзывы на ЗВ гарантируют, что они реализуются правильно, охватываются тестами и не вносят новых багов, придерживаясь при этом обратной совместимости.

Отметьте, что все, кто немного знаком с Symfony и PHP, могут писать отзывы на заявления о багах и запросы на включение. Вам не нужно быть экспертом, чтобы помочь.

Будьте конструктивны

До того, как начать, помните, что вы смотрите на результат чьей-то тяжёлой работы. Хороший комментарий включает в себя благодарность вкладчику за работу, идентифицирует, что сделано хорошо, что стоит улучшить и предлагает следующий шаг.

Создайте учётную запись GitHub

Symfony использует GitHub, чтобы управлять отчётами о багах и запросами на включение. Если вы хотите писать отзывы, вам нужно создать учётную запись GitHub и войти в неё.

Процесс написания отзыва на заявление о баге

Хороший способ начать - выбрать заявлеие о баге из заявлений о багах, нуждающихся в отзыве.

Шаги рецензирования следующие:

  1. Завершено ли заявление?

    Хорошие заявления о багах содержат ссылку на проект ("проект воспроизведения"),
    cозданный с помощью Symfony skeleton , который воспроизводит баг. Если ссылки нет, то заявление должно хотя бы содержать достаточное количество информации и примеров кода, чтобы воспроизвести баг.

  2. Воспроизведите баг

    Загрузите проект воспроизведения и проверьте, можно ли воспроизвести баг
    на вашей системе. Если автор сообщения не предоставил проект воспроизведения, создайте его с помощью Symfony skeleton.

  3. Обновите статус проблемы

    В конце-концов, добавьте комментарий в заявление о баге. Поблагодарите за заявление о баге. Включите в ваш комментарий строку Status: <status>, чтобы запустить наш Carson Bot, который обновляет ярлык статуса проблемы. Вы можете установить один из следующих статусов:

    Требует доработки Если баг не содержит достаточно информации, чтобы быть воспроизведённым, объясните, какой информации не хватает, и переместите заявление в этот статус.

    Работает для меня Если баг содержит достаточно информации, чтобы быть воспроизведённым, но работает в вашей системе, или если завяленный баг является функцией, а не багом, предоставьте краткое объяснение и переместите заявление в этот статус.

    Рассмотрено Если вы можете воспроизвети баг, переместите заявление в этот статус. Если вы создали проект воспроизведения, добавьте ссылку на проект в ваш комментарий.

Пример

Вот образец комментария к заявлению о баге, который можно было воспроизвести:

1
2
3
4
5
Спасибо, @weaverryan, за создание этого заявления о баге! Это действительно
выглядит, как баг. Я воспроизвёл баг в ветке "kernel-bug" branch of
https://github.com/webmozart/symfony-standard.

Статус: Рассмотрено

Процесс написания отзыва на запрос на включение

Процесс написания отзыва на запросы на включение (ЗВ) схож с процессом для заявлений о багах. Отзывы на запросы на включение обычно занимают немного больше времени, так как вам нужно понять функционал, который был исправлен или добавлен, и узнать, является ли реализация полной.

Можно писать отзывы частично! Если вы напишите частичный отзыв, прокомментируйте то, как далеко вы зашли, и оставьте ЗВ в состоянии "Требует отзыва".

Выберите запрос на включение из из ЗВ, требующие отзывов и следуйте этим шагам:

  1. Является ли ЗВ завершённым?

    Каждый запрос на включение должен содержать заголовок, который предоставляет некоторую базовую информацию о ЗВ. Вы можете найти шаблон такого заголовка в Правилах внесения вклада.

  2. Правильная ли ветка?

    GitHub отображает ветку, на которой основан ЗВ, под заголовком запроса. Является ли она правильной?

    • Баги должны быть исправлены в самой старшей содержащейся версии, в которой найден баг. Смотрите e629093fc2e2173f6b847342827974f7df0506d4, чтобы найти самую старую версию, поддерживаемую на текущий момент.
    • Новые функции должны быть всегда добавлены к текущей версии разработки. Смотрите Карту Symfony, чтобы найти текущую версию разработки.
  3. Воспроизведите проблему

    Прочтите о проблеме, которую должен исправить запрос на включение. Воспроизведите проблему в чистом проекте, созданном с помощью Symfony skeleton, и попробуйте понять, почему она существует. Если проблема уже содержит такой проект, установите его и запустите в своей системе.

  4. Напишите отзыв на код

    Прочтите код запроса на включение и проверьте его на соответствие некоторым общим критериям:

    • Соответствует ли код проблеме, которую должен исправить / реализовать ЗВ?
    • Остаётся ли ЗВ в рамках для того, чтобы разобраться только с этой проблемой?
    • Содержит ли ЗВ автоматизированные тесты? Охватывают ли эти тесты все важные пограничные случаи?
    • Содержит ли ЗВ существенные комментарии, чтобы можно было с лёгкостью понять его код?
    • Нарушает ли код обратную совместимость? Если да, сообщает ли об этом заголовок ЗВ?
    • Содержит ли ЗВ устаревания? Если да, сообщает ли об этом заголовок ЗВ? Содержит ли код утверждения trigger_deprecation() для всех устаревших функций?
    • Задокументированы ли все устаревания и нарушения ОС в последнем файле UPGRADE-X.X.md? Содержит ли эти объявнения примеры "До / После" с чёткими инструкциями по обновлению?

    Note

    Впоследствии, некоторые из этих аспектов будут проверены автоматически.

  5. Протестируйте код

    Возьмите ваш проект из шага 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

    Теперьо вы можете протестировать проект с кодом в ЗВ.

  6. Обновите статус ЗВ

    Наконец, добавьте комментарий в ЗВ Поблагодарите вкладчика за работу над ЗВ. Включите в ваш комментарий строку Status: <status>, чтобы запустить наш Carson Bot, который обновляет ярлык проблемы. Вы можете установить один из следующих статусов:

    Требует доработки Если ЗВ ещё не готов к слиянию, объясните проблемы, которые вы нашли, и укажите этот статус.

    Рассмотрено Если ЗВ удовлетворяет все требования выше, укажите этот статус. Базовый вкладчик вскоре рассмотрит ЗВ и решит, можно ли его слиять, или он требует доработки.

Пример

Вот образец комментария для ЗВ, который ещё не готов к слиянию:

1
2
3
4
5
Спасибо, @weaverryan, за работу над этим! Похоже, что ваше тестирование
не охватывает случаи, когда счётчик равен нулю или меньше. Можкте ли вы,
пожалуйста, добавить тесты для этого?

Статус: Требует доработки