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

Почему clang-tidy рекомендует на 37 строке переписать свитч на if-else? https://pastebin.com/DNqgk0uT

14 ответов

35 просмотров

Потому что у тебя нет фигурных скобок в кейсах

У тебя половина брейков не сработает

Павλо-🇺🇦 Автор вопроса

Если в кейсе больше одной строки - да. Потому что если скобок нет, это будет однострочное выражение, а дальше игнор. Как в случае с if без скобок.

Павλо-🇺🇦 Автор вопроса
Eyed Shovel
Если в кейсе больше одной строки - да. Потому что ...

но ведь везде, где я вижу свитчи, там как раз двоеточие перед несколькими выражениями стоит

Павλо 🇺🇦
но ведь везде, где я вижу свитчи, там как раз двое...

Двоеточие у тебя в любом случае будет. Только надо после него скобки. switch val { case A: { ..... } }

Павλо-🇺🇦 Автор вопроса
Eyed Shovel
Двоеточие у тебя в любом случае будет. Только надо...

получается, после двоеточия идет одно выражение, и все последующие уже не относятся к кейсу? Или как это работает?

Павλо 🇺🇦
но ведь везде, где я вижу свитчи, там как раз двое...

Проведу аналогию с if. Проще представить if без скобок не так if (cond) foo(); А вот так if (cond) foo(); Так понятней? С кейсами то же самое.

Павλо 🇺🇦
получается, после двоеточия идет одно выражение, и...

Да, так. Что будет - я не уверен. Но я уверен, что точно не будет. Не будет работать так, как ты задумал. Поэтому оберни кейсы в фигурные скобки

Eyed Shovel
Проведу аналогию с if. Проще представить if без ск...

На первом варианте можно поставить breakpoint на втором нет, я предпочитаю первое, и формате так настраиваю. К тому же при длинном условии, вообще не видно, что будет происходить

Павλо-🇺🇦 Автор вопроса
Eyed Shovel
Да, так. Что будет - я не уверен. Но я уверен, что...

ну, вообще-то, работает как раз так, как я и задумал разве что ивенты мышки почему-то только для фиксированной длины левой части терминала репортятся

Il V
На первом варианте можно поставить breakpoint на в...

Это пример для наглядности. На деле лучше вообще ифы без скобок не писать, это во многих best practices описано

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
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
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта