Проект OpenJFX руководится Лидерами проекта и Проверяющими.
Сопредседатель проекта: Кевин Расфорт (ID OpenJDK: kcr
; ID GitHub: kevinrushforth
)
Сопредседатель проекта: Йохан Вос (ID OpenJDK: jvos
; ID GitHub: johanvos
)
Список проверяющих находится в отчете OpenJDK Census.
Перед тем как код будет отправлен в репозиторий, он должен пройти проверку. Короткая версия политики проверки кода OpenJFX следующая:* Мы определяем официальную роль "Проверяющего", аналогичную роли в проекте JDK, и описываем обязанности Проверяющих.
Проверка кода важна для поддержания высокого качества вкладов, но мы понимаем, что не каждый тип изменений требует такого же уровня проверки. Без снижения наших стандартов качества, мы хотим сделать легче получение низкодействующих изменений (простых исправлений ошибок).
В поддержку этого, следующие правила проверки действуют. Многие из этих правил будут зависеть от оценки, особенно когда дело доходит до того, является ли исправление низкодействующим или высокодействующим, и это нормально. Это не должно быть идеальным.
Все проверки кода должны проводиться через запрос на вытягивание (pull request), отправленный против этого репозитория GitHub, openjdk/jfx. Должна существовать запись бага JBS перед тем, как будет проведен обзор pull request. Для информации о том, как отправить pull request, см. CONTRIBUTING.md.
Все исправления должны быть проверены хотя бы одним рецензентом с ролью "Reviewer" (то есть "Рецензент"). У нас есть различные пороги для различных типов изменений. В случае спора относительно того, является ли исправление низкого или высокого влияния, оно считается высокого влияния. То есть мы всегда будем стремиться к качеству, "округляя" до следующего более высокого уровня категории. Контрибьютор может указывать, считает ли он, что его изменения имеют низкое или высокое влияние, но это подтверждается рецензентом. Рецензент либо добавляет комментарий, указывающий, что одиночная проверка достаточна, либо же использует команду Skara /reviewers 2
, чтобы запросить второго рецензента (рецензент может запросить больше двух рецензентов в некоторых случаях, где исправление может быть особенно рискованным или затрагивать несколько функциональных областей).Комментарии к отзывам могут быть добавлены прямо в pull request на GitHub или в ответ на автоматически сгенерированное электронное письмо "RFR" (Request for Review). Бот Skara переносит комментарии между ними. Чтобы одобрить pull request, рецензент должен сделать это непосредственно в самом pull request. Для помощи в проверке pull request см. следующую страницу справки GitHub.
/reviewers 2
или /csr
по мере необходимости (учтите, что команда /reviewers 2
требует одобрения от двух ревьюверов в общей сложности, хотя бы один из которых имеет роль "Ревьювер"; если вы действительно считаете, что нужна еще одна проверка со стороны второго "R"евьювера, используйте команду /reviewers 2 reviewers
)* Если вы хотите указать свое одобрение, но все же считаете, что нужны дополнительные ревьюверы, вы можете увеличить количество ревьюверов (например, с 2 до 3)
* Если вы хотите привлечь специалиста по конкретной области для проверки запроса на слияние, укажите это в виде комментария такого типа: `Reviewers: @PERSON1 @PERSON2`; запрошенные ревьюверы могут указать, планируют ли они проверять этот запрос
* Если вы хотите гарантировать возможность вашего личного рассмотрения этого запроса на слияние, добавьте комментарий такого типа: `@PRAUTHOR Подожди моего рассмотрения этого PR`, опционально добавьте любые ваши опасения
Убедитесь, что целевой ветви запроса на слияние правильно указано
master
практически во всех случаях * Обратный запрос на слияние (который будет иметь метку backport
) должен быть направлен на текущую ветку стабилизации; рецензент должен проверить, соответствуют ли исправляемые ошибки критериям текущей фазы стабилизацииВот список вещей, которые следует учитывать при проверке запроса на слияние. Это применимо ко всем, кто выполняет проверку, но особенно к "ревьюверам":*Убедитесь, что вы понимаете причины возникновения проблемы и то, как предложенный Pull Request решает её.
Внимательно рассмотрите риск регресса.
Внимательно рассмотрите любые вопросы совместимости.
Проверьте, добавляет ли он, удаляет или модифицирует какие-либо публичные или защищённые API, даже если это происходит неявно (например, публичный метод, который переопределяет защищённый метод, или класс, перемещённый из непубличного в публичный пакет); если да, отметьте необходимость создания запроса на изменение (CSR).
Сначала сосредоточьтесь на实质性的评论而非格式化的评论。
Проверьте наличие автоматизированного теста; если его нет, попросите создать один, если это возможно.
Убедитесь, что Pull Request выполнил тесты GitHub Actions (GHA); если они не выполняются, попросите автора Pull Request включить GHA рабочие процессы; если тест провалился на некоторых платформах, проверьте, является ли это настоящей ошибкой (иногда задача завершается сбоем из-за изменений инфраструктуры GHA или мы видим ложное срабатывание GHA).* Локально протестируйте код, если у вас есть опасения относительно того, работает ли он правильно; полезный совет — объедините последнюю версию основного репозитория в ваш локальный ветвь для проверки перед тестированием.
Если исходная ветка Pull Request давно не синхронизировалась с основной веткой, или если есть коммиты в верхнем репозитории, отсутствующие в исходной ветке и мешающие Pull Request, рассмотрите возможность попросить автора Pull Request объединить последнюю версию основного репозитория, чтобы получить актуальное выполнение GHA.#### Перед тем как интегрировать или спонсировать запрос на вливание (PR):
Система Skara помечает PR как «готовый» после того, как минимальное количество рецензентов проверят его. Перед тем как интегрировать или спонсировать PR, убедитесь, что выполнены следующие действия:
Это включает изменения в реализацию, которые потенциально могут повлиять на производительность или поведение, или являются широкими по своей сути. Некоторые большие исправления ошибок будут входить в эту категорию, а также любые исправления в высокорисковых областях (например, CSS).
Не менее двух (2) рецензентов должны одобрить такие изменения, один из которых обязательно должен быть "R"ецензентом.
Это включает изменения поведения, добавления к спецификациям FXML или CSS и т. д.
Запросы на новые функции приходят со ответственностью, которая превышает просто предоставление "кода для этой новой функции, пожалуйста примите её". Для даже маленьких функций следует учитывать множество факторов. Большие функции потребуют значительного вклада в области дизайна API, программирования, тестирования, поддерживаемости и т. д. Особенность должна быть обсуждена заранее на списке рассылки openjfx-dev для получения ранней обратной связи по концепции (является ли это особенностью, которую мы вероятно примем) и направлению развития API и/или реализации.Чтобы гарантировать согласованность новых возможностей с остальной частью API и желаемым направлением проекта, требуется CSR (Change Request Specification) для новой возможности, добавления в API или поведенческого изменения. CSR должен быть проверен и одобрен руководителем проекта. В настоящее время этим занимается либо Кевин Рашфорд, либо Йохан Вотс, как указано выше.Обзор реализации следует тем же стандартом «двух рецензентов» для более значимых изменений, как описано в категории B. Два рецензента кода могут включать или не включать руководителя, который проверил CSR. Обзор / одобрение CSR — это независимый шаг от обзора / одобрения изменений кода, хотя они могут проходить параллельно.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )