170 похожих чатов

Ребята, вот такой вопрос. В Go есть куча пакетов которые

используют глубоко в кишках ENV переменные. В т.ч. есть такие пакеты и от самого Google.
Когда вообще такое использование реально оправдано на ваш взгляд? Ведь такая конфигурация нифига не явная и может приводить к неявному изменению поведения.
Я слышал мнение что вообще использование ENV и библиотеках это плохая практика и ее надо избегать, предоставляя явные варианты конфигурации.
Тем не менее много библиотек все же в кишках (даже в internal пакетах их используют) Хочется услышать мнения в целом. Сами как считаете?

10 ответов

8 просмотров

А разве в коде в таком случае не прописаны енв переменные?

Видать при их созданиями мыслили исключительно контейнерами, где всегда чистое окружение, а ENV используется для настройки.

так себе идея, на самом деле, но мне трудно представить вариант для конфигурации рантайма проще, чем этот

А есть пример?

Когда поднимаешь сервер - ENV переменные очень важны. Предусматривать эти значения особенно при docker-compose - очень важны. И эти параметры не нужно лениться учитывать ибо при продакшене это не работает

Зависит от либы, если это внутренняя штука и конфигурация четко оговорена то вполне, но за правило хорошего тона берем добавление конструктора, который принимает всю конфигурацию явно без использования ENV

12 factor app? Современная среда запуска почти 90% это докер или куб,

Поэтому всегда проще env

Может быть ок, когда явно указывается (в названии функции), что параметры подгружаются из переменных окружения, но, наравне с таким способом, должна быть возможность делать то же самое с явной передачей параметров

Лучше сводить к минимуму такое, только в очень ограниченных кейсах оправдано. Например, во всяких хелперах к настройкам вроде FooFromEnv()

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
50
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Народ, с прошедшими и наступающими. Ща полную ересь прогоню, но фишка в том, что это не обычная алкогольная ересь Либера, а я реально хз что делать. Сайт с 2012-го года Косяк...
Alexey Liber
2
Карта сайта