Случаи переключателя Java: с или без фигурных скобок?

Вы можете попробовать SQL, используя UPPER:

$sql = "SELECT ID, UPPER(nome), UPPER(cognome), UPPER(codicefiscale), UPPER(sedelavoro), UPPER(datanascita), UPPER(lingua), UPPER(errori), UPPER(risultato), UPPER(datatest) FROM testlingua WHERE sedelavoro='$sede' ORDER BY ID";
80
задан a3f 18 April 2015 в 16:34
поделиться

9 ответов

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

Ни один.

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

91
ответ дан MrValdez 24 November 2019 в 09:55
поделиться

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

19
ответ дан tsimon 3 July 2019 в 11:33
поделиться

Никакая потеря производительности от точки выполнения представления.

Небольшая потеря производительности с точки зрения компиляции как существует больше для парсинга, но если бы кто-либо был на самом деле касавшимся этого, то они должны были бы написать свой код все на одной строке:-)

И теперь для части мнения нашего сообщения... Я всегда вставлял {и} потому что существует штраф за пригодность для обслуживания, в которой необходимо будет, вероятно, вставить их позднее, и это может быть боль, вставляющая их позже..., но это - 103%-е персональное предпочтение.

20
ответ дан TofuBeer 24 November 2019 в 09:55
поделиться

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

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

т.е. то, Когда у меня есть что-то как,

switch(i)
{
  case 1 :
  {
     //do something
  }
  System.out.println("Hello from 1");

  case 2: 
  ....
}

"Привет от 1", печатается. Но использование изогнутой фигурной скобки может предложить неосведомленное средство чтения, которое случай заканчивает '}', уже зная, как что фигурные скобки обычно имеют значение в случае циклов, методы и т.д.

, у нас есть операторы перехода к маркировке в 'C', который управление просто смещает для преобразования регистра и продолжает, это - выполнение. Так, с тем пониманием это - просто ПЛОХАЯ практика для использования фигурных скобок когда бювары для переключателя.

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

Мое предложение: Просто избегайте использования окружающих фигурных скобок для случаев переключателя.

12
ответ дан Real Red. 24 November 2019 в 09:55
поделиться

С фигурными скобками.

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

  1. Упущение повреждений и таким образом наличие падения-throughs случая
  2. Упущение случая по умолчанию и таким образом не ловля необслуженного для условия
  3. Случайно снова использующие переменные между операторами выбора, или хуже все же, влияя на переменную, которая совместно использует переменную между операторами выбора.

Используя фигурные скобки один способ предотвратить и намеренное и случайное совместное использование переменных между операторами выбора

10
ответ дан jklp 24 November 2019 в 09:55
поделиться

Этот вопрос, вероятно, будет закрытым как "спорным" (ВОЙНА ФИГУРНОЙ СКОБКИ!), но какого черта. Мне на самом деле нравятся фигурные скобки после случаев. Мне это заставляет ужасный синтаксис переключателя больше походить на остальную часть конструкций языка. (Нет никакого штрафа за использование фигурных скобок в этом "случае")

5
ответ дан Andy White 24 November 2019 в 09:55
поделиться

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

фигурные скобки являются на самом деле самыми полезными, чтобы гарантировать, чтобы Вы не заканчивали тем, что снова использовали ту же переменную в различном case с по ошибке. Они не объявляют переменных сегодня, но кто-то добавит их завтра, и без фигурных скобок код подвержен ошибкам.

5
ответ дан Miserable Variable 24 November 2019 в 09:55
поделиться

Я не использовал бы фигурные скобки для случаев переключателя.

  • оператор переключения уже выглядит достаточно барочным без фигурных скобок.

  • дела Переключателя должны быть очень простыми. Когда необходимо объявить переменные, это - знак, что Вы делаете его неправильно.

Теперь прочь к поддержанию некоторого наследия C код, какой спорт переключает случаи 500 + строки...

3
ответ дан starblue 24 November 2019 в 09:55
поделиться

Я никогда не думал об этом прежде. Никогда не нуждался в фигурных скобках в пункте случая, так не может действительно видеть, почему Вам были бы нужны они. Лично я не иду для, "будет легче поддержать" идею, это - просто мусор, будет легче поддержать, если код будет иметь смысл и будет зарегистрирован.

Никакие фигурные скобки... меньше синтаксиса - больше

1
ответ дан Gareth Davis 24 November 2019 в 09:55
поделиться
Другие вопросы по тегам:

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