
Глобальные константы в DATAREON Platform: как убрать хардкод из интеграций
IlyaVyaznikov 6 минут назад Глобальные константы в DATAREON Platform: как убрать хардкод из интеграций Средний 3 мин 206 Блог компании SOFROS C# * Кейс Привет, Хабр!С вами снова Илья Вязников, инженер сопровождения...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. IlyaVyaznikov 6 минут назад Глобальные константы в DATAREON Platform: как убрать хардкод из интеграций Средний 3 мин 206 Блог компании SOFROS C# * Кейс Привет, Хабр! С вами снова Илья Вязников, инженер сопровождения SOFROS. Продолжаю делиться практическими приёмами, которые упрощают жизнь при эксплуатации и доработке интеграций.
Не так давно я рассказывал, как вынести повторяющуюся логику в C# функции, но в любом серьёзном проекте со временем накапливаются не только функции, но и куча параметров: адреса сервисов, таймауты и т. Сначала их прописывают прямо в коде, но очень быстро это превращается в проблему. Сегодня расскажу про глобальные константы — один из полезных инструментов платформы для централизованного хранения таких параметров.
Технические детали
Когда глобальные константы особенно полезныГлобальные константы стоит использовать, если значение применяется более чем в одном месте. Типичные кейсы:Параметры интеграцийURL внешних APIПути к файловым каталогамПорты и адреса серверовТехнические лимиты и retry-политикиМаксимальное количество попытокТаймаутыРазмер батча обработкиСправочные значенияИНН организацииКоды филиаловИдентификаторы систем-источниковВместо того чтобы писать в коде:const int MAX_RETRY = 3;const string CRM_URL = " удобнее вынести это в глобальные константы и обращаться к ним централизованно. Создание набора глобальных константВ Центре настройки перейдите: Обработка данных - Глобальные константыНажмите + и создайте новый набор.
Укажите Название и Имя (обычно они совпадают). Пример: MessageProcessing, ExternalServices, OrganizationSettings. Перейдите на вкладку Переменные и добавьте нужные параметры.
Пример переменных:НазваниеТипЗначениеRetryCountint3EnableArchiveRestoreBooleantrueMessagePropertyStringExampleПоддерживаемые типы: string, int, boolean. Также можно использовать массивы и разрешить null-значения. Использование в Схемах обработки:Обращение к константам очень простое:Синтаксис: ГлобальныйНабор.
Отраслевые последствия
ПеременнаяПример использования в алгоритме:var retryCount = MessageProcessing. RetryCount; if (retryCount > 0) { Logger. Info($"Количество попыток: {retryCount} } if (MessageProcessing.
EnableArchiveRestore) { Logger. Info("Повторная обработка архива включена }Это особенно удобно, когда нужно быстро изменить поведение системы (увеличить retry, отключить какой-то сценарий, поменять batch size) без правок алгоритмов. Аналогично можно обращаться к константам в условиях.
Использование в конфигурации объектов:В наборы констант можно добавить и адреса серверов, а затем обращаться к ним в соответствующих объектах, например Внешних системах, сервисах. В ряде объектов конфигурации значения можно задавать через специальный синтаксис:]Важно:Двойные квадратные скобки обязательны;Константа должна существовать и быть сохранена;Тип константы должен совпадать с типом параметра.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





