Инструкция о том, как сделать свой вклад в платформу Flexberry.

Введение

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

Процесс разработки платформы

Рекомендуемые инструменты разработки

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

GitFlow

Процесс разработки компонентов платформы основан на gitflow.

Issues и Pull requests

Обнаруженные проблемы в копмонентах платформы Flexberry фиксируются в Issues соответствующего репозитория. Приветствуются исправления проблем отправленные в виде Pull request (PR) в ветку develop.
Делается это так:

  1. Нужно выполнить Fork репозитория к себе.
  2. Выполнить клонирование своего репозитория.
  3. Сделать требуемую доработку в исходном коде, выполнить commit и push в свой репозиторий (надо понимать как работать с git).
  4. Через веб-интерфейс сайта https://github.com создать Pull request в ветку develop репозитория, с которого был выполнен Fork согласно инструкции от GitHub.
  5. Если по результату анализа Pull request будут созданы замечания, требующие доработки кода, то достаточно выполнять доработку в своём репозитории в той же ветке, с которой был создан Pull request - новые коммиты автоматически будут добавляться в Pull request (на каждый коммит будет выполняться сборка на Travis-CI).

Запросы на крупные изменения следует оформлять в RFC-репозитории платформы Flexberry.

Стиль кода

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

Checklist для code review

Кроме стиля кода, есть и другие критерии, по которым проверяется Pullrequest с доработками.

Тестирование компонентов платформы

Проекты на C# содержат тесты:

  • Автономные юнит-тесты - выполняются на Travis-CI по каждому коммиту и PR.
  • Интеграционные юнит-тесты - требуют для исполнения доступ к нескольким СУБД и исполняются разработчиками, а также на сервере, подготавливающем NuGet-пакеты.

Проекты на EmberJS содержат тесты, исполняющиеся на Travis-CI по каждому коммиту и PR.

Рекомендации по отладке

Рекомендации по отладке описаны в статье.