2010-09-13 4 views
3

Я всегда пишу, если заявления, как это:Как написать верно, если()

if (...) { 
    /* do something */ 
} 

Когда я создаю темы на StackOverflow, иногда люди меняют этот код:

if (...) 
{ 
    /* do something */ 
} 

Так первый { переходит к новой линии.

Имеет ли смысл, каков истинный способ?

+24

Оба они в порядке. Это просто стиль, и люди не должны менять стиль. –

+1

Некоторые будут ругаться слепым, что первый стиль - лучший, другие - второй, лучший - ни тот, ни другой - они оба хороши! –

+2

нет «истинного пути». Его полностью личный выбор для программиста ... (хотя программисты часто утверждают, что один лучше других). – loxxy

ответ

7

Я предлагаю прочитать Code Complete. Он довольно подробно разбирается в этом вопросе (посвящая ему практически целую главу) и дает то, что я считаю убедительным аргументом для № 1.

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

if (blah) 
{ 
    //Foo 
} 

Когда черный штучной превращается в:

XXXXXXXXX 
X 
    XXX 
X 

Так открывающую скобку кажущейся подобно начало блока, если это не так (это просто разделитель).

Вместо этого он рекомендует либо первый вариант (открывающей скобкой в ​​той же строке), или:

if (blah) 
    { 
    //Foo 
} 

Так как она проходит тест на черный ящик:

XXXXXXXXXX 
    X 
    XXXXXXX 
X 

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

if (blah) 
    { 
    //Foo 
    } 

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

4

Простые пробелы не имеют значения на PHP, поэтому используйте тот стиль, который вам больше нравится (или какой бы стиль вы ни работали над проектом, или компания, с которой вы работаете, чтобы поддерживать целостность). Обе формы полностью эквивалентны с точки зрения интерпретатора PHP.

2

Это то, о чем программисты долгое время обсуждали. Все зависит от вашего индивидуального стиля и предпочтения. Оба способа - «Правильный PHP».

1

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

2

Либо. «Правильный» полностью зависит от вашего стиля кодирования. Я рекомендую вам следовать тому, который вы предпочитаете, если только вы не работаете над существующим кодом, и в этом случае вы должны следовать этому соглашению.

2

Обычно это предпочтение кодировщиков. Некоторые проекты имеют стандарты кодирования, такие как Zend Framework или Company, которые потребуют от него так или иначе. Если вы кодируете кого-то или свою компанию, попросите стандарты. Если вы помогаете с открытым исходным кодом, например Zend Framework, вы должны прочитать их документацию о том, как вы должны форматировать свой код. Если вы делаете это для себя, выбирайте способ, которым вы предпочитаете, и придерживайтесь его/быть последовательным.

Смежные вопросы