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

Плохо ли делать using namespace внутри тела функции/метода? Если

да, то почему? Я понимаю почему очень хреново делать глобальный using namespace в хедере, но что плохого внутри тела функции?

19 ответов

16 просмотров

в этом нет ничего плохого)

Потому что из хедера он протечет во все что этот хедер инклюдит

Все теже нюансы, что и глобальной области видимости. Но плохого ничего, если четко осознаешь, что делаешь и зачем.

Ivan-Osinin Автор вопроса

Просто у меня clang-tidy ругается на любое использование using namespace, а правило с префиксом google

я уже ненавижу кланг тупо

Ivan-Osinin Автор вопроса
elton john
я уже ненавижу кланг тупо

А чем можно заменить clang-tidy?

Ivan Osinin
Просто у меня clang-tidy ругается на любое использ...

выключайте гугловские правила, если не собираетесь следовать их гайду

Ivan-Osinin Автор вопроса
Ivan Osinin
А чем можно заменить clang-tidy?

В нем много чеков + исправления

Ivan Osinin
А чем можно заменить clang-tidy?

А там нельзя в отдельных файлах правила задавать? Не верю в такое.

Ivan-Osinin Автор вопроса
Vlad
выключайте гугловские правила, если не собираетесь...

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

Ivan-Osinin Автор вопроса
Viktor Chyzhdzenka
А там нельзя в отдельных файлах правила задавать? ...

Не знаю как про отдельные файлы, но вроде можно в поддиректориях делать отдельные настройки. Как с .gitignore

Ivan Osinin
За каждым правилом что-то стоит, некое благое наме...

с этой точки зрения и гугловский гайд с благими намерениями писался тогда выключайте правила по одному и все. какие претензии к clang-tidy?

Ivan Osinin
Не знаю как про отдельные файлы, но вроде можно в ...

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

Ivan Osinin
За каждым правилом что-то стоит, некое благое наме...

а правила все росли и росли, и вот мы дошли до no-code :)

Это точно вопрос в теме pro ?

Ivan-Osinin Автор вопроса

Хотелось бы что бы он все еще ругался на using namespace в глобальном скоупе. На страничке этого правила в доке нету настраиваемых параметров

Ivan Osinin
Хотелось бы что бы он все еще ругался на using nam...

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

Ivan Osinin
Хотелось бы что бы он все еще ругался на using nam...

по идее должно быть еще одно правило из core guidelines на эту тему, которое подходит вам больше не стоит полагать, что правила clang-tidy не перекрывают друг друга

Ivan-Osinin Автор вопроса
Vlad
по идее должно быть еще одно правило из core guide...

А, ну вот. Я только что хотел про это написать. Что на глобальный юзинг ругается 2 правило, а значит от гугла можно отключить далеко и на долго

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта