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

OSCHINA-MIRROR/mirrors-Seata

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.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 распределённым образом, мы ценим ХОРОШО НАПИСАННЫЕ, ПОДРОБНЫЕ и ЯСНЫЕ отчёты о проблемах. Чтобы сделать общение более эффективным, мы хотим, чтобы каждый мог поискать, существует ли ваша проблема в списке поиска. Если вы найдёте её существующей, добавьте свои данные в комментарии под существующим вопросом вместо того, чтобы открывать новый.

Чтобы сделать детали вопроса как можно более стандартными, мы создали ISSUE TEMPLATE для репортёров вопросов. Пожалуйста, ОБЯЗАТЕЛЬНО следуйте инструкциям по заполнению полей в шаблоне.

Существует множество случаев, когда вы можете открыть вопрос:

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

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

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

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

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

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

МЫ ЖДЕМ ЛЮБОГО PR ОТ ВАС.

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

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

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

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

  2. CLONE свой собственный репозиторий для разработки локально. Используйте git clone git@github.com:<your-username>/incubator-seata.git, чтобы клонировать репозиторий на свой локальный компьютер. Затем вы сможете создавать новые ветки, чтобы завершить изменения, которые вы хотите внести. Добавление удалённого upstream

Для этого используйте следующие две команды:

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

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

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

Благодаря этой настройке мы можем легко синхронизировать локальные ветки с ветками upstream.

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

Сейчас мы предполагаем, что каждый вклад через запрос на вытягивание (pull request) предназначен для ветки develop в Seata. Перед тем как вносить свой вклад, полезно знать определение веток.

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

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

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

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

Для более крупных функций мы создадим feature-ветки для разработки и проверки.

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

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

  • Commit Message;
  • Commit Content.

Commit Message

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

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

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

  • fix bug
  • update
  • add doc

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

Commit Content

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

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

Кроме того, в части изменения кода мы предлагаем всем участникам прочитать стиль кода Seata.

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

PR Description

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

Вклад в тестовые случаи

Приветствуются любые тестовые примеры. В настоящее время функциональные тестовые сценарии Seata имеют высокий приоритет.

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

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

Участвуйте, чтобы помочь чем угодно

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

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

Стиль кода

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

Руководство

Alibaba-Java-Coding-Guidelines

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

Устанавливать не обязательно, если вы хотите найти проблему во время кодирования.

IDE idea

p3c-idea-plugin-install

Eclipse IDE

p3c-eclipse-plugin-install

Одним словом, ЛЮБАЯ ПОМОЩЬ — ЭТО ВКЛАД.

Опубликовать ( 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