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

OSCHINA-MIRROR/panda26-gitlab

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 56 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 02.03.2025 23:52 6401589

Лицензионное соглашение с вкладчиками

Подавая код как физическое лицо, вы соглашаетесь с individual Contributor License Agreement. Подавая код как юридическое лицо, вы соглашаетесь с corporate Contributor License Agreement.

Это уведомление должно остаться первым пунктом в файле CONTRIBUTING.MD.


Содержание сгенерировано с помощью DocToc


Вклад в GitLab

Благодарим вас за интерес к внесению вклада в проект GitLab. Этот гайд подробно описывает, как можно эффективно вносить вклад в проект GitLab.

Ищете что-нибудь сделать? Посмотрите метку Принятие запросов слияния.

GitLab представлен в двух версиях: GitLab Community Edition (CE) — бесплатная и открытая версия, и GitLab Enterprise Edition (EE) — коммерческая версия. В этом гайде вы встретите сокращения CE и EE.

Если вы прочли этот гайд и хотите узнать, как работает команда [GitLab core team], обратитесь к процессу внесения вклада в GitLab.

Разглашение уязвимостей безопасности

Пожалуйста, сообщайте о подозрительных уязвимостях безопасности в личной переписке на адрес support@gitlab.com. Также см. раздел разглашения на сайте GitLab.com. Пожалуйста, не создавайте публично доступные задачи для подозрительных уязвимостей безопасности.

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

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

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

Задачи и запросы слияния должны быть на английском языке и содержать подходящий язык для всех возрастных групп.

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

Помощь другим

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

Подпишитесь на рассылку, отвечайте на вопросы о GitLab на StackOverflow или отвечайте в канале IRC. Вы также можете зарегистрироваться на CodeTriage, чтобы помочь с оставшимися задачами на GitHub.

Хочу внести свой вклад!

Если вы хотите внести вклад в GitLab, но не знаете, с чего начать, посмотрите задачи с меткой "Принятие запросов слияния" и весом < 5. Эти задачи будут иметь приемлемый размер и сложность для начала вклада в GitLab.

Метки рабочего процесса

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

Большинство задач имеют метки хотя бы одного из следующих типов:

  • Тип: ~"proposal для функциональности", ~defect, ~клиент, итд.
  • Предмет: ~wiki, ~"регистрация контейнеров", ~ldap, ~api, итд.
  • Команда: ~CI, ~Discussion, ~Edge, ~Frontend, ~Platform, итд.
  • Приоритет: ~Достигаемый, ~Протяжка

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

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

Типовые метки ("proposal для функциональности", defect, клиент, итд)Типовые метки очень важны. Они определяют, какой это тип задачи. У каждой задачи должна быть одна или несколько таких меток.

Примеры типовых меток: ~"proposal для функциональности", ~defect, ~клиент, ~безопасность, и ~"направление".

Некоторые типовые метки имеют присвоенный им приоритет, который автоматически делает их более заметными, в зависимости от их важности.

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

Описание каждого типа меток дано на странице меток.

Метки предмета (~wiki, ~"регистрация контейнеров", ~ldap, ~api, и т.д.)

Метки предмета определяют область или функцию GitLab, которую затрагивает эта задача. Они не всегда необходимы, но очень удобны.

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

Примеры меток предмета: ~wiki, ~"регистрация контейнеров", ~ldap, ~api, ~issues, ~"merge requests", ~labels, и ~"регистрация контейнеров".

Метки предмета всегда пишутся строчной буквой.

Метки команд (~CI, ~Discussion, ~Edge, ~Platform, и т.д.)

Метки команд указывают, какая команда ответственна за эту задачу. Присвоение метки команды гарантирует, что задача получит внимание соответствующих людей.

Текущие метки команд: ~Build, ~CI, ~Discussion, ~Documentation, ~Edge, ~Gitaly, ~Platform, ~Prometheus, ~Release, и ~"UX".

Описание каждой команды дано на странице меток.

Внутри этих меток команд, у нас также есть метки ~backend и ~frontend, чтобы показать, требуется ли работа с серверной части, клиентской части или обоих.

Метки команд всегда пишутся с заглавной буквы, чтобы они были видны как первая метка для любой задачи.

Метки приоритета (~Достигаемый и ~Протяжка)

Метки приоритета помогают нам четко коммуницировать ожидания работы для выпуска. Есть два уровня меток приоритета:

  • ~Достигаемый: Задачи, которые ожидают завершения в текущем майлстоуне.
  • ~Протяжка: Задачи, которые являются протяжечной целью для завершения в текущем майлстоуне. Если эти задачи не будут завершены в текущем выпуске, они будут серьезно рассматриваться для следующего выпуска.

Метка для участников сообщества (~"Принятие запросов слияния")

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

Участники сообщества могут отправлять запросы слияния для любой задачи, но метка ~"Принятие запросов слияния" имеет особое значение. Она указывает на изменения, которые:

  1. Мы уже согласились на,
  2. Ясно определенные,
  3. Вероятно будут приняты модератором.

Мы хотим избежать ситуации, когда участник выбирает задачу с меткой ~"Принятие запросов слияния", а затем его запрос слияния закрывается, потому что мы понимаем, что это не соответствует нашему видению, или мы хотим решить проблему по-другому.

Мы добавляем метку ~"Принятие запросов слияния" к:

  • Низкоприоритетным ~defect задачам (например, мы не добавляем её к багам, которые хотим исправить в ~"следующем патче").
  • Маленьким ~"proposals для функциональности", которые не требуют ~UX / ~"работы продукта", или для которых ~UX / ~"работа продукта" уже выполнена.
  • Маленьким ~"техническим долгам".

После добавления метки ~"Принятие запросов слияния", мы стараемся оценить вес задачи. Мы используем вес задачи, чтобы участники могли знать, насколько трудной задача. Дополнительно:

Реализация дизайна и элементов интерфейса

Пожалуйста, обратитесь к [руководству UX для GitLab].

Трекер задач

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

Трекер задач GitLab CE на GitLab.com предназначен для багов, связанных с последним выпуском GitLab и предложений по новым функциям.

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

Если вы не уверены, куда отправить задачу, начните с почтового списка или Stack Overflow. Там много полезных пользователей GitLab, которые могут помочь вам быстро. Если окажется, что ваша конкретная проблема является ошибкой, она найдёт своё место там.

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

Отсеивание задач

Наши правила отсеивания задач описаны в нашем руководстве описание правил отсеивания задач. Вы очень приветствуетесь, чтобы помочь команде GitLab отсеивать задачи. Мы также организуем события по отсеиванию задач events по отсеиванию задач каждое квартальное.Самое важное — это обеспечить обратную связь со стороны разработчиков для всех актуальных задач. Поэтому приоритет отдается упоминанию разработчиков, которые могут помочь с этими задачами. Пожалуйста, выберите кого-то с соответствующим опытом из команды GitLab. Если нет упоминаний людей с такой экспертизой, просмотрите историю коммитов для затронутых файлов, чтобы найти подходящего человека.

Предложения по новым функциям

Для создания предложения по новой функции для CE, откройте задачу на трекере задач трекера задач CE.

Для предложений по новым функциям для EE, откройте задачу на трекере задач трекера задач EE.

Чтобы помочь отслеживать предложения по новым функциям, мы создали метку предложение по новой функции. В настоящее время пользователи, которые не являются членами проекта, не могут добавлять метки. Вы можете попросить одного из [членов основной команды] добавить метку предложение по новой функции к задаче или добавить следующий фрагмент кода сразу после вашего описания на новой строке: ~"предложение по новой функции".

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

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

Для изменений в интерфейсе может быть полезно сначала создать макет. Если вы хотите создать что-либо самостоятельно, рассмотрите возможность открытия задачи для обсуждения того, интересно ли включить это в GitLab.

Указания по работе с трекером задач

Поиск в трекере задач перед отправкой своей собственной задачи, возможно, кто-то еще столкнулся с тем же вопросом или предложением новой функции. Поддержите его эмодзи и/или примите участие в обсуждении.

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

Вес задач

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

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

  1. Установите вес для любой задачи как можно раньше.
  2. Если вы не согласны с установленным весом, обсудите с другими разработчиками до достижения консенсуса относительно веса.
  3. Вес задач представляет собой абстрактную меру сложности задачи. Не относите вес задачи напрямую к времени. Это называется эффектом анкора, что является эффектом, который стоит избежать.
  4. То, что имеет вес 1 (или вообще не имеет веса), действительно маленькое и простое. То, что имеет вес 9, скорее всего требует переписывания большой фундаментальной части GitLab, что может привести к многим трудным проблемам для решения. Изменение некоторых текстов в GitLab, вероятно, будет иметь вес 1, добавление нового Git Hook может быть 4 или 5, большие функции имеют вес 7-9.
  5. Если что-то очень большое, то лучше разделить его на несколько задач или частей. Просто не устанавливайте вес для родительской задачи и устанавливайте вес для дочерних задач.

Регрессионные задачи

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

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

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

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

Технический долг

Чтобы отслеживать вещи, которые можно было бы улучшить в базе кода GitLab, мы создали метку ~"технический долг" в трекере задач GitLab.

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

Любой может создать задачу, хотя вам может потребоваться спросить о добавлении специальной метки, если у вас нет прав делать это самостоятельно. Дополнительные метки могут быть объединены с меткой технический долг, чтобы сделать расписание улучшений для выпуска более удобным.

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

Stewardship

Для задач, связанных с открытой структурой управления GitLab, есть метка ~"stewardship".

Эта метка используется для задач, где структура управления GitLab является предметом обсуждения. Например, если GitLab Inc. планирует удалить функции из GitLab CE, чтобы сделать их эксклюзивными в GitLab EE, такие задачи будут помечены меткой ~"stewardship".

Недавний пример этого был задачей для переноса API отслеживания времени в GitLab CE.

Объединённые запросы

Мы приветствуем объединённые запросы с исправлениями и улучшениями кода, тестов и/или документации GitLab. Задачи, специально предназначенные для общественных вкладов, помечены меткой Принимает Объединённые Запросы на нашем трекере задач для CE и [EE][accepting-mrs-эе], но вы свободны вкладывать в любую другую задачу, которую считаете подходящей.

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

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

Объединённые запросы должны быть открыты на GitLab.com.

Если вы новичок в разработке GitLab (или веб-разработке в целом), см. раздел Я хочу внести свой вклад! для начала работы с потенциально простыми задачами.

Чтобы начать разработку GitLab скачайте GitLab Development Kit и увидите раздел Разработка для некоторых руководящих принципов.

Указания по объединённым запросам

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

  1. Создай форк проекта в вашем личном пространстве на GitLab.com
  2. Создай ветку с новой функциональностью, отпочковавшись от ветки master
  3. Напиши тесты и код
  4. Сгенерируй запись в журнале изменений с помощью bin/changelog
  5. Если ты пишешь документацию, убедись, что следуешь руководству по стилю документации
  6. Если у тебя несколько коммитов, объедини их в несколько логически организованных коммитов с помощью squashing
  7. Отправь коммит(ы) в твой форк
  8. Подай запрос на слияние (merge request, MR) в ветку master
  9. Твой запрос на слияние должен получить хотя бы одно одобрение, но можешь потребовать больше. Например, если ты меняешь как backend, так и frontend код, хорошей идеей будет требовать два одобрения: одно от поддерживателя backend и другое от поддерживателя frontend
  10. Тебе не обязательно выбирать рецензентов, но можешь выбрать конкретных людей, если хочешь
  11. Заголовок MR должен описать изменения, которые ты делаешь
  12. Описание MR должно содержать мотивацию для твоего изменения и метод, которым ты его реализовал.
  13. Если ты добавляешь код, заполни шаблон уже предоставленный в поле "Описание".
  14. Если ты добавляешь документацию, выбери Документация из меню "Выберите шаблон" и заполни шаблон.
  15. Упомяни задачи(и), которую(ые) решает твой запрос на слияние, используя синтаксис Решает #XXX или Закрывает #XXX, чтобы автоматически закрыть задачи после слияния MR.
  16. Если тебе позволено, установи подходящий срок и метки
  17. Если MR изменяет интерфейс, он должен включать скриншоты до и после изменения
  18. Если MR изменяет CSS классы, пожалуйста, включи список затронутых страниц, используя команду grep css-class ./app -R.
  19. Будь готов ответить на вопросы и внедрить обратную связь даже если это произойдет неделями или месяцами после отправки MR.
  20. Если обсуждение было рассмотрено, выбери кнопку "Разрешить обсуждение" под ним, чтобы отметить его как завершенное.
  21. Если твой MR затрагивает код, который выполняет команды командной строки, читает или открывает файлы или управляет путями к файлам на диске, убедись, что он следует руководству по выполнению команд командной строки.
  22. Если твой код создает новые файлы на диске, прочитай руководство по общим файлам.
  23. При написании сообщений о коммитах следуй этимруководствам.
  24. Если твой запрос на слияние добавляет одну или более миграций, убедись, что выполнил все миграции на свежей базе данных перед тем, как MR будет проверен. Если проверка привела к большим изменениям в MR, сделай это снова после завершения проверки.
  25. Для более сложных миграций напиши тесты.
  26. Запросы на слияние обязательно должны соответствовать руководству по производительности запросов на слияние.
  27. Для тестов, использующих Capybara или PhantomJS, см. статью о том, как написать надёжные асинхронные тесты.Пожалуйста, держи изменения в одном MR как можно меньшими. Если ты хочешь внести крупную функциональность, очень серьёзно подумай о минимально жизнеспособном изменении. Можно ли разделить функциональность? Можно ли отправить только backend/API код? Можно ли начать с очень простого интерфейса? Можно ли сделать часть рефакторинга? Увеличенная проверяемость маленьких MR, которая приводит к лучшему качеству кода, важнее нам, чем наличие минимального журнала коммитов. Чем меньше MR, тем вероятнее она будет принята (быстро). После этого ты можешь отправить ещё MR для улучшения её. Документ "Как получить быстрый отзыв на PR" Kubernetes также имеет несколько замечательных пунктов по этому поводу.

Для примеров обратной связи на запросы на слияние посмотрите уже закрытые запросы на слияние. Если ты хочешь быстрый отзыв на свой запрос на слияние, не стесняйся упомянуть одного из [ядерной команды] или одного из тренеров по запросам на слияние. Пожалуйста, убедись, что твой запрос на слияние удовлетворяет критериям принятия вклада.

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

Критерии принятия вклада

  1. Изменение является как можно меньшим.
  2. Включает правильные тесты и делает все тесты успешными (кроме случаев, где тест выявляет ошибку в существующем коде). Каждый новый класс должен иметь соответствующие юнит-тесты, даже если класс используется на более высоком уровне, например, при проведении теста функциональности.
  3. Если ты подозреваешь, что провалившийся сборочный процесс CI не связан с твоим вкладом, попробуй перезапустить провалившуюся работу CI или попроси разработчика исправить вышеупомянутый провалившийся тест.
  4. Твой MR первоначально содержит один коммит (пожалуйста, используй git rebase -i для объединения коммитов).
  5. Твои изменения могут быть слиты без проблем (если нет, пожалуйста, переформируй, если ты единственный работающий на своей ветке функциональности, в противном случае, слей master).
  6. Не нарушает ни одной существующей функциональности.
  7. Исправляет одну конкретную задачу или реализует одну конкретную функциональность (не объединяй вещи, отправляй отдельные запросы на слияние, если требуется).
  8. Миграции должны делать только одно действие (например, либо создаёт таблицу, либо перемещает данные в новую таблицу или удаляет старую таблицу) для облегчения повторного выполнения при сбое.
  9. Сохраняет GitLab кодовый базис чистым и хорошо структурированным.
  10. Содержит функциональность, которую мы считаем полезной для других пользователей.
  11. Не добавляет конфигурационные опции или настройки, поскольку они усложняют будущие изменения.
  12. Изменения не ухудшают производительность.
    • Избегай повторного опроса эндпоинтов, которые требуют значительных затрат времени.
    • Проверяй за N+1 запросы через журнал SQL или QueryRecorder.
    • Избегай повторного доступа к файловой системе.
  13. Если тебе необходим опрос для поддержки реального времени, пожалуйста, используй опрос с кэшированием ETag.
  14. Изменения после отправки запроса на слияние должны быть в отдельных коммитах (не объединяй).
  15. Он соответствует руководствам по стилю и следующему:
    • Если твое изменение затрагивает строку, которая не соответствует стилю, модифицируй всю строку, чтобы она соответствовала ему. Это предотвращает генерацию предупреждений линтерами.
    • Не трогай соседние строки. Исключение — автоматическое массовое рефакторирование может оставить стиль неконформным.
  16. Если запрос на слияние добавляет любые новые библиотеки (gem, JavaScript библиотеки и т.д.), они должны соответствовать нашим руководствам по лицензиям. Посмотри инструкции в этом документе для помощи, если твой MR провалился тест "license-finder" с ошибкой "Dependencies that need approval".

Определение завершённости

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

  1. Описание, объясняющее релевантность (см. следующий пункт)
  2. Работающий и чистый код, который комментирован там, где это необходимо
  3. Юнит-тесты и системы тестирования, прошедшие на сервере CI
  4. Проблемы производительности/скалярности были учтены, решены и протестированы
  5. Документировано в директории /doc
  6. Запись в журнале изменений добавлена, если необходимо
  7. Проверено и любые опасения учтены
  8. Слито основным поддерживателем проекта
  9. Добавлено в статью блога выпуска, если применимо
  10. Добавлено на сайте, если применимо
  11. Ответы на вопросы сообщества
  12. Ответы на вопросы распространены (в документах/wiki/поддержке и т.д.)

Если ты добавляешь зависимость в GitLab (например, операционную систему пакета), пожалуйста, рассмотри обновление следующего и укажи применимость каждого в своём запросе на слияние:1. Объявление добавления в статье блога выпуска (создай её, если она ещё не существует) https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/

  1. Гайд по обновлению, например https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/7.5-to-7.6.md
  2. Гайд по обновлению https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/upgrader.md#2-run-gitlab-upgrade-tool
  3. Гайд по установке https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md#1-packages-dependencies
  4. GitLab Development Kit https://gitlab.com/gitlab-org/gitlab-development-kit
  5. Тестовый набор https://gitlab.com/gitlab-org/gitlab-ce/blob/master/scripts/prepare_build.sh
  6. Создатель пакета Omnibus https://gitlab.com/gitlab-org/omnibus-gitlab

Руководства по стилю

  1. Ruby. Важные разделы включают Layout исходного кода и Название. Используй:
    • многолинейный стиль цепочки вызовов методов Опция A: точка . на второй строке
    • стиль цитирования строковых литералов Опция A: одинарные кавычки по умолчанию
  2. Rails
  3. Руководство по стилю Newlines
  4. Тестирование
  5. Руководство по стилю JavaScript
  6. Руководство по стилю SCSS
  7. Команды Shell были созданы участниками GitLab для повышения безопасности
  8. Руководство по стилю миграций базы данных
  9. Руководство по стилю Markdown
  10. Руководство по стилю документации
  11. Текст интерфейса должен быть написан субъективно, а не объективно. Он должен представлять собой обращение команды GitLab к человеку. Он должен быть написан в настоящем времени и никогда не использовать прошедшее время (было/есть). Например, вместо запрещено этому пользователю быть сохраненным из-за следующих ошибок: текст должен быть извините, мы не смогли создать ваш аккаунт потому что. Это также стиль, используемый инструментами проверки кода, такими как RuboCop, PullReview и Hound CI.

Код поведения

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

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

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

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

Этот код поведения применим как внутри пространства проекта, так и в общественных пространствах, когда индивид представляет проект или его сообщество.

Инциденты абьюза, харассмента или других недопустимых действий можно сообщить по электронной почте contact@gitlab.com.

Этот Код поведения адаптирован из Contributor Covenant, версия 1.1.0, доступна по адресу http://contributor-covenant.org/version/1/1/0/.

[^1]: Пожалуйста, обратите внимание, что спецификации, кроме спецификаций на JavaScript, считаются частью бэкэнд-кода.

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

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

1
https://api.gitlife.ru/oschina-mirror/panda26-gitlab.git
git@api.gitlife.ru:oschina-mirror/panda26-gitlab.git
oschina-mirror
panda26-gitlab
panda26-gitlab
master