Skip to content

Шаблон проекта для разработки и отработки библиотеки librscs

Notifications You must be signed in to change notification settings

cansat-rsce/librscs-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

librscs-dev

Шаблон проекта для разработки и отработки библиотеки librscs

Правила написания кода на проекте:

  1. Заголовочные файлы должны располагаться в каталоге /rscs/, все исходники в каталоге /rscs/_source.

  2. Все публичные сущности (которые выносятся в .h файлы соответсвующих модулей) должны быть прокомментированны.

  3. Все именуемые функции и типы должны именоваться начиная с префикса rscs_<имя_модуля>. Например rscs_uart_init.

  4. Все значения перечисляемых типов (enum). должны быть написаны заглавными буквами, начинаться с префикса RSCS_<имя_модуля>_<имя_перечисляемого_типа>. Например RSCS_UART_STOP_BITS_ONE.

  5. Библиотека должна поддерживать по меньшей мере два микроконтроллера, используемых в проекта - ATMega328p и ATmega128. Для обеспечения этой поддержки можно управлять кодом с помощью макросов - неплохой пример виден в драйвере АЦП - (adc.h)[https://github.com/cansat-rsce/librscs/blob/master/rscs/adc.h] и (adc.c)[https://github.com/cansat-rsce/librscs/blob/master/rscs/_source/adc.c]

  6. Если функция способна завершиться с ошибкой, следует оформить её возвращающей код ошидки типа rscs_error_t (определен в файле /rscs/error.h). Можно добавить в этот файл свой код ошибки (если подходящего там еще нет).

  7. Ветвь master - основная суперветвь. Код в любой её версии всегда должен компилироваться и (в идеале конечно же) правильно работать. Поэтому туда не должны попадать никакие непроверенные измнения. Строго говоря - прямые коммиты в неё заблокированны - это запрещено средствами гитхаба, поэтому нужно работать через промежуточную ветвь, как описанно в следующем пункте.

  8. Рабочая ветвь - ветвь develop. Изменения на один коммит следует вносить в нее. Любой более серьезный (на несколько коммитов) новый функционал следует оформлять в ветвях. Скажем, Если Вы хотите добавить драйвер для барометра BMP280 - создаете новую ветвь с именем BMP280 от текущей головы ветви develop и работаете с ней. ПО завершению работы пушите ветвь на сервер и создаете пул реквест этой ветви в девелоп или же сразу в мастер (если уверены в качестве нововведений)

About

Шаблон проекта для разработки и отработки библиотеки librscs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages