Форматирование операторов if - PullRequest
8 голосов
/ 19 сентября 2008

Это не священная война, это не вопрос "что лучше".

Каковы преимущества использования следующего формата для одного оператора if блоков.

if (x) print "x is true";

if(x) 
    print "x is true";

В отличие от

if (x) { print "x is true"; }
if(x) {
    print "x is true";    
}

Если вы форматируете свое отдельное утверждение ifs без скобок или знаете программиста, который это делает, что побудило вас / их принять этот стиль в первую очередь? Меня особенно интересует, какую пользу это принесло вам.

Обновление : так как самый популярный ответ игнорирует реальный вопрос (даже если он представляет самый вменяемый совет), вот сводный список профессионалов без скобок.

  1. Компактность
  2. Более читабельно для некоторых
  3. Скобки вызывают область видимости, которая в некоторых случаях имеет теоретические издержки

Ответы [ 42 ]

0 голосов
/ 19 сентября 2008

Для меня фигурные скобки облегчают просмотр хода программы. Это также упрощает добавление оператора в тело оператора if. Если фигурных скобок нет, необходимо добавить фигурные скобки, чтобы добавить еще одну инструкцию.

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

0 голосов
/ 19 сентября 2008

Пока я чувствую себя потерянным, но ручаюсь за одно из:

if (expr) {
   funcA();
}
else {
   funcB();
}

Или сокращенно в ограниченных случаях для удобства чтения:

if (expr) funcA();
else funcB();

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

if (expr)
   funcA();
else
   funcB();

С осторожностью я не помещаю вложенные условия в блоки if / else, чтобы избежать неоднозначности кодера / компилятора. Если это немного сложнее, чем это, я использую скобки для блоков if и else.

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