2013-11-21 2 views
3

я использую, если условие, без скобок в Java что-то вродеJava одна строка, если заявление

if(somecondition) 
//Only one line Business logic 

но некоторые сказали использовать фигурные скобки всегда даже одна линия заявление что-то вроде этого

if(somecondition){ 
//Only one line Business logic 
} 

Что лучше путь в соответствии с java sandard?

+2

зависит .. последний является более читаемым для меня – sanbhat

+0

Это просто хорошая практика программирования. – TheLostMind

+3

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

ответ

16

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

if(somecondition) 
//Only one line Business logic 

в

if(somecondition) 
log.debug("condition was true"); 
//Only one line Business logic 

, а затем вещи перестают работать :-)

+0

+1 например, нарушение кода. Кроме того, такие инструменты, как checkstyle, обычно запрещают голые, если утверждения. –

0

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

+0

Проблема с производительностью? Вы имеете в виду дополнительное время для компиляции? –

+0

Да, поскольку компилятор должен учитывать только одну строку среди заявлений, если не было фигурных скобок –

1

Использование инструкции if с фигурными скобками является лучшим способом стандартного стандарта java, поскольку увеличивает читаемость и уменьшает нежелательную ошибку.

1

Эти два утверждения имеют точно такой же эффект, но я так часто страдал из-за отсутствия фигурных скобок, что я также всегда комментирую, что должны быть фигурные скобки даже около 1 строки. Это упрощает обслуживание кода и может сэкономить много головной боли. Мой опыт показывает, что одна строка, если утверждения часто превращаются в многострочные операторы на более поздние итерации, поэтому вы сохраняете, не записывая два { в первый раз, вы дадите позже.

3

Нет обнаженных утверждений. Вы просто просите о неприятностях. Всегда используйте {}

2

лучше использовать брекеты при проверке ошибок или обновлении кода.

представьте.

if(answer.equals("add")) 
    addedValue += Scanner.readInt(); 

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

if(answer.equals("add2)) 
    valueToBeAdded = Scanner.readInt(); 
    if(valueToBeAdded < 0) valueToBeAdded = - valueToBeAdded; 
    addedValue += valueToBeAdded; 

Это не совсем правильный алгоритм, это просто пример того, что может произойти.

7

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

Также вы можете рассмотреть вопрос об использовании тройного оператора

booleanExpression ? value1 : value2 
4

В дополнении к @radai ответа, если вы настоящий злой ум, когда вы видите, если без каких-либо скобок вы можете сделать что-то, что сделает вас ennemies, добавив точку с запятой в одну и ту же строку if, но в 800-й столбец строки (или что-то еще).

как

if(condition) /*a loooot of whitespace*/ ; 
    //Only one line Business logic that will get executed whatever is the condition 

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

+1

Я обеспечу, что это сделает ее в производство позже сегодня –

+0

:) ты злой вдохновитель! – benzonico

+0

Вот почему я показываю пробелы в своей среде IDE. – snowe

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