Введение
Платформа Flexberry является открытой и расширяемой технологией для проектирования и разработки ПО. Разработчики, активно использующие платформу могут вносить свой вклад, расширяя и обогащая платформу. Исходный код компонентов был опубликован как раз с целью привлечения сообщества к совместной работе над платформой, что позволяет эффективнее и быстрее её развивать на благо пользователей как самой платформы, так и пользователей конечных приложений.
Процесс разработки платформы
Рекомендуемые инструменты разработки
Ознакомиться со списком рекомендуемых инструметов для разработки можно в статье.
GitFlow
Процесс разработки компонентов платформы основан на gitflow.
Issues и Pull requests
Обнаруженные проблемы в копмонентах платформы Flexberry фиксируются в Issues
соответствующего репозитория. Приветствуются исправления проблем отправленные в виде Pull request
(PR) в ветку develop
.
Делается это так:
- Нужно выполнить Fork репозитория к себе.
- Выполнить клонирование своего репозитория.
- Сделать требуемую доработку в исходном коде, выполнить
commit
иpush
в свой репозиторий (надо понимать как работать с git). - Через веб-интерфейс сайта https://github.com создать
Pull request
в веткуdevelop
репозитория, с которого был выполненFork
согласно инструкции от GitHub. - Если по результату анализа
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.
Рекомендации по отладке
Рекомендации по отладке описаны в статье.