Skip to content

Latest commit

 

History

History
124 lines (82 loc) · 7.14 KB

File metadata and controls

124 lines (82 loc) · 7.14 KB

Коллективное участие в проекте

постоянно наполняемый FAQ для "контрибьюторов"

Прежде чем создавать задачи (issues) GitHub

  • старайтесь ознакомиться с документацией по проекту с помощью поиска
  • старайтесь ознакомиться с уже имеющимися задачами с помощью поиска, включая закрытые задачи
  • ознакомьтесь с каталогом features для понимания уже существующего и стабильного функционала
  • будьте в курсе изменений по проекту
    • нажмите watch и star, чтобы получать оповещения об изменениях

Старайтесь создавать задачи в формате BDD

  • Формат описания, если вы нашли "недочёт" (bug)
Дано <имею версию проекта>
  И <версию операционной системы>
  И <версию 1С предприятия>
  И <параметры совместимости конфигурации>
  • Формат описания, если хочется добавить новый функционал (enhancement)
Функционал: <Краткое описание>
Как <роль кому нужен функционал>
Чтобы <цель того кому нужен данный функционал>

Как добавить функционал к проекту

мы используем Example mapping, поэтому:

  • всё, что не имеет feature-файла - это просто вопрос или "вброс"
  • если существует feature-файл только с заголовком - это предварительное требование
  • если в feature-файле есть Сценарии - это требование с правилами реализации
  • есть в Сценарии есть шаги - это требование с правилами и примерами

Соответственно, помимо задач, можно использовать концепцию

  • git-flow - коллективная разработка с помощью github
  • pull-request - для черновиков функционала используется каталог .\features\drafts

Процесс коллективной разработки

в соответствии с принципами Agile и Open-Source мы используем

  • итеративный подход к разработке
  • первоначально мы решаем недочёты, а уже затем дорабатываем функционал
  • приоретизация и порядок доработки остаются на усмотрение команды oscript-library

однако это можно изменить 3-мя способами:

Pull-request

Первичная настройка

если вы разработчик

  • Установите oscript, git и проверьте, что данные находятся в переменной PATH,

    • т.е. git, oscript, opm вызываются без указания полного пути в коммандной строке.
  • сделайте fork репозитория

  • склонируйте репозиторий себе на машину git clone https://github.com/*ТУТИМЯВАШЕГОПОЛЬЗОВАТЕЛЯ*/gitsync.git

  • переходим в склонированный каталог через cd gitsync и выполняем несколько магических комманд

git remote add upstream https://github.com/oscript-library/gitsync.git
git fetch upstream
git checkout -b develop upstream/develop

Далее нужно установить необходимые зависимости: в консоли от имени администратора перейти в папку gitsync и запустить opm install. Результатом будет установленные пакеты, необходимые для работы скриптов. Этот шаг необходимо сделать всего 1 раз.

Штатная разработка/доработка

Выбор задачи и предварительная подготовка
  • реализуйте функционал или возьмите в работу какую-то задачу
  • на основании ветки develop создаем новую ветку с номером задачи или кратким описанием, например, feature/issue-9999
git checkout -b feature/issue-9999

Напоминаем, что все шаги git можно выполнять как из консоли git, так и из графического клиента для git (SourceTree, GitExtensions и т.п.)

Изменения в плагинах/фичах/шагах/тестах
  • в каталоге gitsync/features добавьте новый feature-файл, если необходимо

  • в каталоге ./src реализуйте требуемый функционал

  • или прогоните тесты opm run test

  • При готовности зафиксировать изменения

  • В гите проверить необходимые изменения в исходниках и зафиксировать только их.

  • Смотрим, какие файлы изменились - git status

Отправка изменений
  • Добавляем необходимые файлы в индекс git add src/cmd/ПараметрыПриложения.os
  • Фиксируем изменения с комментарием git commit -m "Наш комментарий!"
  • Отправляем все изменения своей ветки на github git push origin feature/issue-9999
  • Далее формируем pull-request в интерфейсе github

Участие в архитектурных обсуждениях

если вы методолог или архитектор

  • сделайте свой первый pull-request, в том числе в документацию
  • создайте обсуждение https://github.com/oscript-library/gitsync/issues с описанием противоречия
  • участвуйте, обосновывайте, приводите примеры
  • используйте ТРИЗ для построения непротиворечивых решений

Если ничего не понятно

  • используйте Telegram для того, чтобы задать вопрос

(c) oscript-library - последнее обновление: 14.12.2025