Глупый вопрос о том, как вы форматируете длинные операторы if - PullRequest
7 голосов
/ 26 мая 2011

В длинных операторах if, где они занимают более одной строки, ставите ли вы условия, подобные AND или OR, в новую строку, например:

               if (something
                   && something else)

Или вот так:

               if (something &&
                   something else)

Ответы [ 5 ]

3 голосов
/ 26 мая 2011

Для сложных условий рассмотрите возможность извлечения их в функцию или переменную:

if (complexCondition(foo)) { ..

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

2 голосов
/ 26 мая 2011

Обычно я делаю это вторым способом, так как могу выстроить операторы.Однако, когда вы пишете код, все в порядке, если вы последовательны.

1 голос
/ 26 мая 2011

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

bool fTest1 = A == B ;
bool fTest2 = C ;
bool fTest3 = f(1,2,3) ;
bool fSuccess = ( fTest1 | ftest2 ) & fTest3 ;
if ( fSuccess )
...

Иначе как то так:

if (  A == B
&& (  C == D
   || E == F
   )
&&    Z >  Y
) {
    ...
  }
else
  {
    ...
  }

YMMV, конечно.

Первый намного легче отлаживать, тестировать, регистрировать и т. Д.

1 голос
/ 26 мая 2011

Я предпочитаю исполнение первого. Я рассуждаю так: проще удалить условие с помощью вырезки / вставки / комментария для любых целей тестирования. Намного легче закомментировать строку, чем удалить строку и из строки выше и закомментировать строку. Это больше, когда я делаю предложения where в SQL, чем в операторе if на любом другом языке, но это похоже.

0 голосов
/ 26 мая 2011

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

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