Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Заготовка документации
  • Loading branch information
alkoleft committed Jul 28, 2023
1 parent aaea780 commit 82e7333
Showing 1 changed file with 61 additions and 2 deletions.
63 changes: 61 additions & 2 deletions documentation/contributing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,69 @@ sidebar_position: 1

# Руководство разработчика

Здесь будут собраны материалы по доработке тестового движка.
## Подготовка

YaxUnit разрабатывается используя EDT (что-то вы сможете доработать и проверить в конфигураторе, но этот путь не будет рассмотрен в документации), поэтому для начала вам понадобится скачать и установить ее, если еще не установлена (разработка ведется на версии EDT 2022.2.5).

Дальше нам необходимо получить исходники, для этого [склонируйте](https://docs.github.com/ru/repositories/creating-and-managing-repositories/cloning-a-repository) [репозиторий](https://github.com/bia-technologies/yaxunit).

EDT установлена, исходники получены, теперь осталось их соединить, для этого:
* Открываем EDT и создаем в ней новый проекта (воркспейс)
* Импортируем исходники:
1. Меню `Файл``Открыть проект из файловой системы...`
2. Указываем каталог с исходниками

This comment has been minimized.

Copy link
@sulfur17

sulfur17 Jul 29, 2023

@alkoleft я бы уточнил что надо указать каталог в который склонировали репозиторий

This comment has been minimized.

Copy link
@alkoleft

alkoleft Jul 29, 2023

Author Member

Еще реквеста нет, а он уже замечания накидывает)

3. Получим 4 проекта
*`yaxunit` - корневой каталог, не нужен
*`yaxunit/ext/yaxunit` - движок, импортируем
*`yaxunit/fixtures/demo-configuration` - демо-конфигурация, импортируем
*`yaxunit/tests` - тесты движка, импортируем

Готово, можно начинать разработку.

## Разработка

Процесс разработки условно можно разбить на стадии:
1. Намерение, перед тем как начинать разработку необходимо проверить, есть ли уже [зарегистрированная похожая проблема](https://github.com/bia-technologies/yaxunit/issues), при ее наличии назначаем ее на себя (полянка `Assignees`). Если проблемы нет, регистрируем ее.

This comment has been minimized.

Copy link
@sulfur17

sulfur17 Jul 29, 2023

у меня там нет ссылки для назначения ишью на себя. Нужны права какие-то?

This comment has been minimized.

Copy link
@alkoleft

alkoleft Jul 30, 2023

Author Member

Да, скорее всего так, а свою как я понял тоже не можешь на себя?

This comment has been minimized.

Copy link
@sulfur17

sulfur17 Jul 30, 2023

ага, свою тоже. Могу только сделать unassign когда меня уже назначили


Работа через issues позволит:
* Видеть активности и проблемы
* Не конфликтовать и не делать один и тот же блок вдвоем
* Обсудить проблему до или в процессе разработки

2. Разработка - решение проблемы. Начинается с создания ветки в репозитории от `develop`, процесс разработки - упрощенный gitflow (feature, develop, master, release). Ветка называется по шаблону - `feature/[ISSUE_ID]`, где `ISSUE_ID` - номер проблемы.

Код должен:
* решать какую либо проблему,
* соответствовать стилю разработки,
* и покрыт тестами.

При разработке чаще делайте коммиты, это позволит проще откатываться и лучше понимать причину изменений, особенно спустя время. Очень важно указывать в сообщении коммита номер решаемой проблемы (`#[ISSUE_ID]\n description`).
3. Документация, изменения должны быть отражены в соответствующем разделе документации. Документация по методам API генерируется автоматически. О процессе работы с документацией описано ниже.
4. Ревью - после написания кода и документации создаем реквест. Суть ревью - проверить качество кода, найти ошибки и несоответствия стилю, а также подсветить скользкие моменты.
5. После ревью задача попадает в основную ветку разработки (develop) и спустя некоторое время будет включена в релиз.

## Стиль разработки

// TODO: Пока только набросок идей
* Текучие выражения
* Соответствие стандартам its/bsl ls
* Покрытие тестами и документация
* Простота восприятия и использования
* Поддержка работы на сервере/клиенте
* Независимость движка от других библиотек (конфигураций)
* Работа на 8.3.10
* Разделение ППИ и СПИ
* Желательно подключать новые модули в `ЮТест`
* Желательно использовать общие модули
* Модель контекстов и обработчиков событий

## Тестирование

Для прогона тестов используется [доработанная демо-конфигурация](https://github.com/bia-technologies/yaxunit/tree/develop/fixtures/demo-configuration) от фирмы [](https://github.com/1C-Company).

Вам необходимо импортировать ее в рабочую область и привязать к ней проект yaxunit, запустить тесты.
## Документация

// TODO
* Структура
* Как рендрить/проверять
* Автогенерируемая документация

1 comment on commit 82e7333

@sulfur17
Copy link

@sulfur17 sulfur17 commented on 82e7333 Jul 29, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alkoleft очень полезное руководство, его очень не хватает, спасибо что взялся)

Please sign in to comment.