Я предлагаю прочитать Code Complete. Он довольно подробно разбирается в этом вопросе (посвящая ему практически целую главу) и дает то, что я считаю убедительным аргументом для № 1.
На самом деле он говорит не использовать второй явно, так как он не проходит тест на черный ящик:
if (blah)
{
//Foo
}
Когда черный штучной превращается в:
XXXXXXXXX
X
XXX
X
Так открывающую скобку кажущейся подобно начало блока, если это не так (это просто разделитель).
Вместо этого он рекомендует либо первый вариант (открывающей скобкой в той же строке), или:
if (blah)
{
//Foo
}
Так как она проходит тест на черный ящик:
XXXXXXXXXX
X
XXXXXXX
X
Примечание: I не может вспомнить, должен ли закрывающий разделитель находиться внутри блока или нет ...У меня нет моей копии, поэтому она может быть:
if (blah)
{
//Foo
}
Однако все это сводится к последовательности. Чтобы ваш код был доступен для чтения, вам необходимо быть последовательным в том, как его форматировать. Выберите метод, а затем придерживайтесь его. Не переключайтесь с файла на файл или подпрограмму на обычную. Пока вы согласны и фактически отформатируете его, не беспокойтесь об этом ...
Оба они в порядке. Это просто стиль, и люди не должны менять стиль. –
Некоторые будут ругаться слепым, что первый стиль - лучший, другие - второй, лучший - ни тот, ни другой - они оба хороши! –
нет «истинного пути». Его полностью личный выбор для программиста ... (хотя программисты часто утверждают, что один лучше других). – loxxy