1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-Seata

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING_CN.md 17 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 12:12 743c3ac

Вклад в Apache Seata (инкубационный период)

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

[Руководство по внесению вклада на английском языке]

Темы:

  • [Сообщение о проблемах безопасности](#Сообщение о проблемах безопасности)
  • [Сообщение об общих проблемах](#Сообщение об общих проблемах)
  • [Вклад кода и документации](#Вклад кода и документации)
  • [Внесение тестовых случаев](#Внесение тестовых случаев)
  • [Участие в помощи любому делу](#Участие в помощи любому делу)
  • [Стиль кода](#Стиль кода)

Сообщение о проблемах безопасности

Проблемы безопасности всегда будут восприниматься серьёзно. Обычно мы не рекомендуем никому распространять проблемы безопасности. Если вы обнаружите проблему безопасности в Apache Seata, пожалуйста, не обсуждайте её публично, даже не поднимайте вопрос. Вместо этого мы рекомендуем вам отправить личное электронное письмо по адресу private@seata.apache.org, чтобы сообщить об этом.

Сообщение об общих проблемах

Честно говоря, мы считаем, что каждый пользователь Seata является отличным вкладчиком. После использования Seata у вас могут возникнуть некоторые отзывы о проекте. Тогда вы можете подать заявку через NEW ISSUE, чтобы создать новую задачу.

Поскольку мы сотрудничаем с Seata распределённым способом, мы ценим высококачественные, подробные и точные отчёты о проблемах. Чтобы сделать общение более эффективным, мы надеемся, что все смогут искать ваши проблемы в списке поиска. Если вы найдёте его, добавьте свои подробные сведения в комментарии существующих проблем, вместо того чтобы создавать новую проблему.

Чтобы сделать детали проблемы как можно более стандартными, мы предоставляем шаблон проблемы для составителей отчётов. Пожалуйста, обязательно заполните поля в шаблоне.

Вы можете создать новый вопрос в следующих случаях:

  • Отчёт об ошибке
  • Требование функции
  • Проблема производительности
  • Предложение функции
  • Дизайн функции
  • Необходимость в помощи
  • Неполная документация
  • Улучшение теста
  • Любые вопросы о проекте
  • И так далее

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

Вклад кода и документации

Поощряйте любые действия, которые делают проект Seata лучше. На GitHub каждое улучшение Seata может быть реализовано через PR (сокращение от Pull Request).

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

На самом деле невозможно перечислить все сценарии. Но помните один принцип:

Мы ожидаем любого вашего PR.

Теперь вы готовы улучшить Seata через PR, и мы предлагаем вам взглянуть на правила PR ниже.

  • [Подготовка рабочего пространства](#Подготовка рабочего пространства)
  • [Определение ветки](#Определение ветки)
  • [Правила фиксации](#Правила фиксации)
  • [Описание PR](#Описание PR)

Подготовка рабочего пространства

Для создания PR мы предполагаем, что у вас уже есть учётная запись GitHub. Затем вы можете выполнить следующие шаги для подготовки:

  1. FORK Seata в свой репозиторий. Для выполнения этой работы вам нужно только нажать кнопку Fork на главной странице apache/incubator-seata справа. Затем вы получите адрес проекта с путём вашего репозитория: https://github.com/<your-username>/incubator-seata, где your-username — это ваше имя пользователя GitHub.

  2. Клонируйте свой собственный репозиторий для локальной разработки. Используйте git clone git@github.com:/incubator-seata.git, чтобы клонировать репозиторий на локальный компьютер. Затем вы можете создать новую ветку для выполнения желаемых изменений.

  3. Установите удалённый доступ, чтобы установить upstream на git@github.com:apache/incubator-seata.git. Используйте следующие две команды:

git remote add upstream git@github.com:apache/incubator-seata.git
git remote set-url --push upstream no-pushing

Используя этот удалённый доступ, вы можете проверить конфигурацию git следующим образом:

$ git remote -v
origin     git@github.com:<your-username>/incubator-seata.git (fetch)
origin     git@github.com:<your-username>/incubator-seата.git (push)
upstream   git@github.com:apache/incubator-seata.git (fetch)
upstream   no-pushing (push)

Добавив это, мы можем легко синхронизировать локальную ветку с веткой upstream.

Определение ветки

Теперь мы предполагаем, что каждый вклад через PR предназначен для ветки разработки в Seata. Перед внесением вклада определение ветки может быть полезным.

Как вкладчик, пожалуйста, ещё раз запомните, что каждый вклад через PR предназначен для ветки разработки. В проекте Seata есть несколько других веток, обычно называемых release branch (например, 0.6.0, 0.6.1), feature branch, hotfix branch и master branch.

Когда официально выпущена версия, будет создана ветка выпуска с именем версии.

После выпуска мы объединим фиксацию ветки выпуска в основную ветку.

Когда мы обнаружим ошибку в определённой версии, мы решим исправить её в будущих версиях или в конкретной ветке hotfix. Когда мы решаем исправить ошибку в ветке hotfix, мы создадим ветку hotfix из соответствующей ветки release, исправим и проверим код, а затем объединим его в ветки разработки и master.

Мы создадим функциональную ветку для разработки и проверки относительно больших функций.

Правила фиксации

Фактически, в Seata мы серьёзно относимся к двум правилам при фиксации:

  • [Сообщения фиксации](#Сообщения фиксации)
  • [Содержимое фиксации](#Содержимое фиксации)

Сообщения фиксации

Сообщения фиксации могут помочь рецензентам лучше понять цель фиксации PR. Они также могут ускорить процесс проверки кода. Мы поощряем вкладчиков использовать явные сообщения фиксации, а не расплывчатые сообщения. Как правило, мы рекомендуем следующие типы сообщений фиксации:

  • docs: xxxx. Например, «docs: добавить документацию о кластерной установке Seata».
  • feature: xxxx.Например, «feature: поддержка oracle в режиме AT».
  • bugfix: xxxx. Например, «bugfix: исправить панику при вводе нулевого параметра».
  • refactor: xxxx. Например, «refactor: упростить, чтобы сделать код более читабельным».
  • test: xxx. Например, «test: добавить модульный тест для функции InsertIntoArray».
  • Другие читаемые и явные способы выражения.

С другой стороны, мы не поощряем вкладчиков отправлять сообщения фиксации следующими способами:

  • Исправить ошибку
  • Обновить
  • Добавить документацию

Если вы не знаете, как это сделать, обратитесь к Как написать сообщение фиксации Git в качестве начала.

Содержимое фиксации

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

  • Избегайте внесения больших изменений в одну фиксацию.
  • Каждая фиксация должна быть полной и проверяемой.
  • При фиксации проверьте git config (user.name, user.email), чтобы убедиться, что он связан с вашим идентификатором GitHub.
git config --get user.name
git config --get user.email
  • При создании PR, пожалуйста, добавьте краткое описание текущих изменений в файл XXXmd в папке 'changes/'

Кроме того, в части кода мы рекомендуем всем вкладчикам прочитать [стиль кода Seata](#стиль кода).

Независимо от сообщений фиксации или содержимого фиксации, мы уделяем больше внимания проверке кода.

Описание PR

PR — единственный способ изменить файлы проекта Seata. Чтобы помочь рецензентам лучше понять вашу цель, описание PR не должно быть слишком подробным. Мы рекомендуем вкладчикам следовать шаблону PR, чтобы завершить PR. Функциональное тестирование является высокоприоритетным.

  • Для модульного тестирования необходимо создать тестовый файл с именем xxxTest.java в каталоге test того же модуля. Рекомендуется использовать фреймворк junit5 UT.

  • Для интеграционного тестирования интеграционное тестирование можно разместить в каталоге test или в модуле seata-test. Рекомендуется использовать тестовый фреймворк mockito.

Участие в помощи

Мы выбрали GitHub в качестве основного места для сотрудничества по Seata. Поэтому все последние обновления Seata всегда доступны здесь. Хотя внесение вклада через PR — это очевидный способ помочь, мы также призываем к другим способам участия:

  • Отвечать на вопросы других людей, если это возможно;
  • Помогать решать проблемы других пользователей;
  • Оказывать помощь в проверке дизайна PR других людей;
  • Проверять код других людей в PR;
  • Обсуждать Seata, чтобы сделать вещи более понятными;
  • Продвигать технологию Seata за пределами GitHub;
  • Писать блоги о Seata и т. д.

Стиль кода

Стиль кода Seata соответствует стандартам кодирования Alibaba Java.

Руководство

Руководство по кодированию Alibaba Java

Установка плагинов IDE (необязательно)

Нет необходимости устанавливать, но может помочь обнаруживать проблемы во время кодирования.

idea IDE

Установка плагина p3c-idea

eclipse IDE

Установка плагина p3c-eclipse

В общем, любая помощь считается вкладом.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-Seata.git
git@api.gitlife.ru:oschina-mirror/mirrors-Seata.git
oschina-mirror
mirrors-Seata
mirrors-Seata
2.x