ФлеймФорумПрограммирование

Общие вопросы по программированию (710 стр)

Страницы: 1709 710 711 7121186 Следующая »
#10635
19:51, 15 ноя 2023

Ghost2
> Поднимите руки те, кто использует глобальный логгер, а не передает его
> конкретную реализацию в функции и конструкторы.
Глобальные переменные применимы там, где нужен всегда только 1 инстанс на весь процесс. Логгер - как раз из таких вещей. У меня например еще часто менеджер загружаемых текстур глобальный. Ну просто потому, что нет смысла грузить один и тот же файл дважды.

#10636
(Правка: 20:10) 20:04, 15 ноя 2023

Ghost2
> Поднимите руки
Опускаю руки. 321 раз передал :(

+ Показать
#10637
(Правка: 20:33) 20:30, 15 ноя 2023

Ghost2
Вопрос не стоит в том, как добраться до метода, который содержит логику логирования. Это может быть вообще свободная функция, передавать нечего. Вопрос в том, как передавать аргументы в этот метод. Аналогом того, что предложил иванарок, было бы текст и уровень логирования записывать в глобальные переменные, а потом вызывать log() без параметров.

Так-то я не против глобальных переменных в принципе. В частности я сторонник синглтонов. Но тут могут быть разные мнения.

#10638
20:36, 15 ноя 2023

entryway
> 321 раз передал :(

Поклоняешься богу Dependency Injection?

#10639
20:38, 15 ноя 2023

MrShoor

> Логгер - как раз из таких вещей
База. Только таких вещей может быть для конкретного проекта овермного (у меня тут embedded деформация, так что не суди строго). И плюсов размазывать эту ерунду, в виде зависимостей по проекту, я не вижу никаких.

#10640
20:45, 15 ноя 2023

Alprog

> было бы текст и уровень логирования записывать в глобальные переменные
Не, ну это совсем плохо.

#10641
20:45, 15 ноя 2023

Dmitry_Milk
> Поклоняешься богу Dependency Injection?

У меня такая привычка с С#, перенес её и в С++. Во многих случаях довольно полезно.

#10642
20:55, 15 ноя 2023

JordanCpp
> Во многих случаях довольно полезно

Использовать такое вручную мне кажется каким-то мазохизмом. По крайей мере для некоторых скриптовых языков, куда удосужились в послежние годы завести аннотацию типов, бывает поддержка со стороны фреймворков, когда такие аргументы тебе заполняет фреймворк, ориентируясь на анонсированный тип аргумента, не требуя руками из функции в функцию таскать, в то же время при ручном конструировании объекта оставляя возможность подсунуть свою реализацию.

#10643
21:16, 15 ноя 2023

Alprog
> Выходит это не обман самих себя, а передавать переменую через функцию
> действительно лучше, чем просто глобальная переменная?
ты не понял о чём речь. Или делаешь вид, что не понял.

> Если ты передавал локальную переменную в функцию, а теперь передаёшь
> глобальную, то ты ничего не изменил.
а, ну понятно, явно не понял о чём речь. Подумай ещё раз о чём я говорил (если тебе это вообще интересно, а не просто языком потрепать).

#10644
21:37, 15 ноя 2023

Mirrel
> ты не понял о чём речь
Нет, это ты не понял о чём была речь, когда начал мне что-то про мои предубеждения и самообман рассказывать.

И ведь я тебе несколько раз уже пояснил, что я говорил не о какой-то абстрактной ситуации в вакууме на вымышленных языках и компиляторах, а о вполне конкретной функции во вполне конкретном проекте, который компилируется конкретными компиляторами. И я пояснил тебе, что в этом конкретном примере будет только ухудшение производительности и масштабируемости. Давно бы уже мог признать, что зря быканул неразобравшись, и уйти в закат.

Но ты продолжаешь упорно настаивать, что я где-то не прав. Конкретно процитируй, где я неверно говорю о глобальных переменных. Или ты только языком потрепать, а за слова не отвечаешь?

#10645
21:39, 15 ноя 2023

Alprog
> Нет, это ты не понял о чём была речь
всё как обычно. Зачем ты меня спрашиваешь о чём-то? Если ты лучше меня знаешь о чём я писал.

  Я же тебе уже писал. Будь правым. Не оправдывайся.

#10646
21:46, 15 ноя 2023

Mirrel
> Зачем ты меня спрашиваешь о чём-то?
Я тебя ни о чём не спрашиваю, кроме риторического вопроса в конце. Он не требует ответа.
Всё остальное я утверждаю. Я утверждаю, что ты зря быканул, а когда тебе пояснили контекст, начал сливаться и вилять жопой, что думал о другом компиляторе, что писал быстро и с ошибками, что вообще не то имел в виду и так далее. И делаешь это до сих пор.

#10647
23:42, 15 ноя 2023

/A\
> По той же логике можно сделать is_invocable_with_exceptions который вернет
> false и все будут считать, что исключения не кидаются.
Ну вот не все, как минимум я и цпп-комитет так не считаем.

#10648
1:15, 16 ноя 2023

/A\
ранее же уже обсуждали noexcept и говорили что это всего лишь подсказка компилятору которая на совести программиста и никаких проверок со стороны компилятора что реальных исключений не произойдет быть не может. Просто компилятор сгенерирует код исходя из того что исключение быть не может, а если оно случится, то UB.

#10649
3:00, 16 ноя 2023

Aroch
> и никаких проверок со стороны компилятора что реальных исключений не произойдет
> быть не может
Вот это кстати дич. Пользовательские исключения вполне можно было бы чекать на этапе компиляции.

Страницы: 1709 710 711 7121186 Следующая »
ФлеймФорумПрограммирование