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

OSCHINA-MIRROR/seata-io-seata

Клонировать/Скачать
CONTRIBUTING.md 17 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 11:00 a970b8d

Вклад в Seata

Мы будем рады, если у вас возникнет желание поработать над Seata. Прежде всего, мы очень приветствуем такое желание. И вот список рекомендаций по внесению вклада.

Темы

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

Проблемы безопасности всегда воспринимаются серьёзно. Согласно нашему обычному принципу, мы не рекомендуем никому распространять информацию о проблемах безопасности. Если вы обнаружите проблему безопасности в Seata, пожалуйста, не обсуждайте её публично и даже не открывайте публичный вопрос. Вместо этого мы рекомендуем вам отправить нам личное электронное письмо на адрес dev-seata@googlegroups.com, чтобы сообщить об этом.

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

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

Поскольку мы сотрудничаем над проектом Seata распределённым образом, мы ценим ХОРОШО НАПИСАННЫЕ, ПОДРОБНЫЕ и ЯСНЫЕ отчёты о проблемах. Чтобы сделать общение более эффективным, мы хотим, чтобы каждый мог поискать, есть ли ваша проблема в списке поиска. Если вы найдёте её, добавьте свои данные в комментарии под существующим вопросом, вместо того чтобы открывать новый.

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. КЛОНИРУЙТЕ свой собственный репозиторий для разработки локально. Используйте git clone git@github.com:<your-username>/seata.git, чтобы клонировать репозиторий на свой локальный компьютер. Затем вы сможете создавать новые ветки для завершения изменений, которые хотите внести.

  3. Установите удалённый upstream на git@github.com:seata/seata.git с помощью следующих двух команд:

git remote add upstream
``` Гит@гитхаб точка ком: сиата/сиата точка гит
гит ремоут сэт-урл -- пуш апстрим ноу-пушин

Уит хит ремоут сеттинг, ю кэн чек юр гит ремоут конфигьюрэйтион лайк хит:

$ гит ремоут -в
ориджин     гит@гитхаб точка ком:<юр нэйм>/сиата точка гит (фетч)
ориджин     гит@гитхаб точка ком:<юр нэйм>/сиата точка гит (пуш)
апстрим   гит@гитхаб точка ком:сиата/сиата точка гит (фетч)
апстрим   ноу-пушин (пуш)

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

Бранч дефинитион

Райт нау ви ассум майнд итч кантрибъюшн виз пол реквест из фор [бранч дивелоп](https://гитхаб точка ком/сиата/сиата трэи/дивелоп) ин Сиата. Бифо хит кантрибьютин, би уорн оф бранч дефинитион вилд хэлп э лот.

Эз а кантрибьютор, кип ин минд эгейн хит ит из фор бранч дивелоп. Уант ин проджект Сиата, ви хэв севэрал азэ бранчес, ви дженэрэли кол хит релиз бранчес(сач аз 0.6.0,0.6.1), фитч бранчес, хотфикс бранчес энд мэстэр бранч.

Вэн оффишиэли релиз ин вэншн, вил би э релиз бранч энд неймед вит хит вэншн нумбэ.

Афтер хит релиз, ви вил мёрдж хит коммит оф хит релиз бранч инту хит мэстэр бранч.

Вен ви файнд зэт зэриз из э баг ин зэ бэнкн вэншн, ви вил дикэйд ту фик ит ин э лэтер вэншн ор фик ит ин эс пэсик хотфикс вэншн. Вен ви дикэйд ту фик хит хотфикс вэншн, ви вил чек аут хит хотфикс бранч басед он хит коррэспандинг релиз бранч, пэрформ код рипэйр энд верификэйшн, энд мёрдж ит инту дивелоп бранч энд хит мэстэр бранч.

Фор ладжер фитчс, ви вил пол аут фитч бранч фор дивелопмент энд верификэйшн.

Коммит рулз

Акшуаллы ин Сиата, ви тэйк ту рулз сириоус уэн коммитин:

Коммит мэссэйдж

Коммит мэссэйдж куд хэлп ревьюерс биттэрн эндэстэнд уот из зэ пёрпос оф сабмитид пи эр. Ит куд хэлп акселэрейт хи хит код ревью просиджур эсоу. Ви инкьюрэйдж кантрибьюторс ту юз ЭКСПЛИЦИТ коммит мэссэйдж ратир зэн амбигюс мэссэйдж. Ин джэнэрэл, ви адвокэйт хи хит фэллоуин коммит мэссэйдж тип:

  • докс: хэксс. Фор инстанс, "доксс: адд доксс эбаут Сиата кластэр инсталлэйшн".
  • фитч: хэксс.Фор инстанс, "фитч: саппорт оракул ин АТ моуд".
  • багфикс: хэксс. Фор инстанс, "багфикс: фик панк уэн инпут нил парамэтэр".
  • рефэйктор: хэксс. Фор инстанс, "рефэйктор: симплифай ту мэк кодс мор реадабл".
  • тест: хэксс. Фор инстанс, "тест: адд юнит тест кейс фор функ инсерт инту аррай".
  • азэ реадабл энд экскплицит экспрэшэн уэйс.

Он зэ оутар сайд, ви дискуарэйдж кантрибьюторс фром коммитинг мэссэйдж лайк хи хит вэйс:

  • фик баг
  • апдэйт
  • адд док

Иф ю гет лост, плэйз си хи хит [Хот ту райт э Гит коммит мэссэйдж](http://крис точка бимс точка ио/постс/гит-коммит/) фор а старт.

Коммит контент

Коммит контент рэпрэзэнтс ол контент чэнжс инклуд ин уан коммит. Ви хад бэттэ инклюд сингс ин уан сингл коммит вич куд сэппорт ревьюэрс комплит ревью уит аут анни коммитс хэлп. Ин анэуорд, контентс ин уан сингл коммит кан пасс хи хит СИ ту эйвэйд код мэсс. Ин бриф, хив ар тэу майнор рулз фор ви ту кип ин минд:

  • эвэд вэри лардж чэнж ин а коммит;
  • комплит энд ревьюэбэл фор эч коммит.
  • чек гит конфиг(юзернэйм, юзерэмайл) уэн коммитинг ту инсурэ зэт ит ис ассоуциэт уит юр гитхуб ай ди.
  • уэн сабмитинг пи эр, плэйз адд а бриф дис криптион оф зэ кэрэнт чэнжс ту зэ Х.Х.Х.мд файл андэр зэ 'ченджс/' фолдэр

Ин аддишн, ин хи хит код чэнж парт, ви сагст ту ол кантрибьюторс шулд рид хи хит код стайл оф Сиата.

Ноу мэттэр коммит мэссэйдж, ор коммит контент, ви ду тэук моу эмфасис он код ревью.

Пи эр дис криптион

Пи эр из хи хит онли вэй ту мэйк чэнж ту Сиата проджект файлс. Ту хэлп ревьюэрс биттэрн гэт юр пёрпос, пи эр дис криптион куд нот би ту дэтаилд. Ви инкьюрэйдж кантрибьюторс ту фолоу хи хит [пи эр темплэйт](./.гифтхаб/ПУЛЛ_РЕКВЕСТ_ТЕМПЛЭЙТ точка мэд) ту финиш хи хит пол реквест.

Тест кейс кантрибютшн

Энни тест кейс вулд би вэлкомд. Кэнтрэмен, Сиата функшн тест кейвс ар хай приорэти.

  • Фор юнит Тест: вам нужно создать тестовый файл с именем xxxTest.java в тестовом каталоге того же модуля. Рекомендуем использовать UT-фреймворк JUnit5.

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

Привлекайте к помощи

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

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

Стиль кода

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

Руководство

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/seata-io-seata.git
git@api.gitlife.ru:oschina-mirror/seata-io-seata.git
oschina-mirror
seata-io-seata
seata-io-seata
develop