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

В реальности же сами по себе глобальные переменные не являются

злом, и все это прекрасно понимают.
Мы, скажем вынуждены использовать все вот эти var ErrSome = errors.New(...).
Было бы лучше без них (но не потому что это глобальные переменные), но, тем не менее, все мы (ну или большинство) это используем.

Есть глобальные переменные для конфигов.
Не все их используют, есть способы более удобные, но те, кто используют тот же go-swagger, знают, что конфиги (опции запуска) там задаются через глобальную переменную.

Всё это есть.
Никто не пытался сказать, что глобальные переменные — суть зло.

Но когда мы говорим о каких-то зависимостях, когда мы говорим о тестировании, о стабильности разработки и поддержки в хоть сколько-нибудь архитектурно серьёзных продуктах, мы сталкиваемся с тем, что объявленные глобальными переменными зависимости типа коннекта к БД могут создать неудобства.
Могут и не создать. А может для кого-то невозможность замокать тестируемый объект и не является неудобством.

Каждый имеет право на своё независимое мнение. И вы тоже. Странно только, что вы так любите спорить с теми, кто так же как и вы имеет право на мнение, при этом требуя каких-то доказательств и не предоставляя их со своей стороны.

Ваше "за всё время не было проблем" — это же не доказательство. Какое время?
Что за проекты?

Вот мой пример раскритиковали, предложив использовать интерфейс и вообще вынести всё это дело в контроллер. И правильно раскритиковали, потому что в большинстве случаев так действительно будет проще в дальнейшем. Я правда этот пример приводил не как пример окончательного решения, а как пример того, как можно без глобальной переменной. Но это уже моя проблема — нужно было сразу уточнять этот момент.

Видите, всегда можно разговаривать конструктивно, а не гадить на стол в ресторане, выкрикивая "я прав, докажите обратное".
Мимо

3 ответов

17 просмотров

> Мы, скажем вынуждены использовать все вот эти var ErrSome = errors.New(...). это не переменная, а квазиконстанта. и она оформлена как переменная только потому, что константы в go убогие

просто в Го нет глобальных переменных

Мой аргумент был в самом начале - меньше кода. Точка. "зависимости типа коннекта к БД могут создать неудобства." - это извините не аргумент. Всё что угодно может создавать неудобство. Что неудобно для вас, то вполне норм для других. А меньше букв - это как бы объективная реальность данная нам в ощущениях. "за всё время не было проблем" - это как раз таки мнение, а не аргумент. У меня много проектов, и все они они имеют для меня и не только для меня кардинальное значение, и финансовое в том числе. Как и у всех. Мы тут делимся оптом в чате, а не обсуждаем у кого проекты показательны, у кого нет. Я же не требую от вас доказать полезность и ценность ваших проетов даже если с чем то у вас не согласен. С чего бы мне вам доказывать ценность и полезность своих?

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта