Принципы разработки¶
В этом разделе описываются общие принципы разработки, принятые командой. В этой статье описываются базовые вещи, которые в целом относятся к процессу разработки. Вещи, которые требует более детального описания, описываются в отдельных статьях.
Базовые вещи¶
Язык разработки¶
Основной язык разработки - русский. Комментарии к коду, логируемая информация, комментарии коммитов - все должно быть на русском языке. Исключение - пакеты, выложенные на github
.
Дата и время¶
Сервер хранит дату и время в UTC, поэтому в сущностях не нужно добавлять суффикс UTC
, исключение - название методов получения времени, например, GetCurrentTimeUtc()
.
Сервер должен принимать время в UTC, отдавать в UTC. Исключение - Razor страницы, они сразу генерируются в локальном времени.
Каталоги приложения¶
Файлы серверных приложений нужно размещать по разным каталогам, стандартным для данного типа файлов в Linux.
Типы файлов | Каталог хранения |
---|---|
Бинарники | /opt/{project_name}/{stage}/{app_name} |
Конфигурационные файлы | /etc/{project_name}/{stage}/{app_name}/{node_name} |
Логи | /var/log/{project_name}/{stage}/{app_name}/{node_name} |
Файлы приложения | /var/lib/{project_name}/{stage}/{app_name}/{node_name} |
Временные файлы | /tmp/{project_name}/{stage}/{app_name}/{node_name} |
project_name
- название проекта (например,ssng
илиu-cati
)stage
- название окружения; возможные варианты:dev
,rc
. Наprod
не используетсяapp_name
- название приложения; использовать, если в проекте несколько приложений (например,isacr
,data-exporter
)node_name
- название ноды; использовать, если запущено несколько инстансов одного приложения; можно просто нумеровать, можно давать название по клиентам (например,isacr-1
,webdata-shared
)