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

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

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

10 ответов

20 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта