Вы ставите условный код на новую строку или только иногда? - PullRequest
2 голосов
/ 23 апреля 2009

Обычно я всегда пишу условный код в соответствии с

if (number==1) 
    name="a";
if (number==2)
    name="b";

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

if (number==1) name ="a";
if (number==2) name ="b"...

Мне это кажется противоречивым и фактически делает код более запутанным.

Каков наилучший способ сделать это?

Ответы [ 16 ]

1 голос
/ 23 апреля 2009

Я использую только первый вариант. Легче читать и легче устанавливать контрольные точки в условных выражениях.

1 голос
/ 23 апреля 2009

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

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

1 голос
/ 23 апреля 2009

Я делаю то же самое (в java) и всегда добавляю фигурные скобки, даже если это всего одна строка, это совсем не работа и устраняет один классический источник ошибок

0 голосов
/ 23 апреля 2009

ОК, мне нужно несколько голосов. Это действительно ужасно, но я думаю, что на это есть веская причина:

 if (false){}
else if (variable == aValue){
  ... code ...
}
else if (variable == anotherValue){
  ... code ...
}
... more cases ...
else {
  ... code ...
}

Причина в том, что ни одна ветка (кроме else) не отличается от любой другой, поэтому их легко переупорядочить или вставить новую в начале.

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

0 голосов
/ 23 апреля 2009

В Microsoft C # Best Practices указано использование фигурных скобок для однострочных условных выражений. Я нахожу это намного более читабельным, лично. Я склоняюсь к этой привычке и на других языках, когда это уместно.

if (myVar == 0)
{
    return false;
}
0 голосов
/ 23 апреля 2009

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

...