Задать вопрос
@muzclubs

Как правильно использовать операторные скобки?

Добрый день!

Всегда использовал операторные скобки, при работе с циклами, блоком if независимо от того, вложено несколько операторов внутрь или нет. Преподаватель по программированию говорит, что операторную скобку необходимо использовать только в том случае, когда внутри несколько операторов, а иначе записывать в такой форме:
if() k=321;
else z = 256;

Я раньше всегда делал вот так:
if(){
k=321;
}else{
z = 256;
}


Мне кажется, что в последнем варианте читаемость кода становится намного лучше.

Подскажите пожалуйста, какому стилю придерживаться?
  • Вопрос задан
  • 1284 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
trevoga_su
@trevoga_su
Преподаватель по программированию говорит, что операторную скобку необходимо использовать только в том случае, когда внутри несколько операторов, а иначе записывать в такой форме
скажи ему, что он теоретик.

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

Наличие скобок ни на что не влияет, минусов - нет. Только плюсы.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 6
@protven
Правильнее всего использовать рекомендуемые вендором правила написания кода

www.oracle.com/technetwork/java/javase/documentati...
Ответ написан
Комментировать
В документации по Yii2 рекомендуется
if() k = 321;
else z = 256;

но не
if() 
  k = 321;
else 
  z = 256;


Сам пишу
if(){

  k = 321;
} else {

  z = 256;
}


Может лишнее, но мне проще. Пустая строка сильнее бросается в глаза, видно где началось, где закончилось.
Ответ написан
@aol-nnov
в порядке убывания приоритета:
  • codestyle команды, в которой работаешь
  • рекомендации вендора
  • собственное мнение


по моему скромному мнению, если фигурные скобки могут быть поставлены, они должны быть поставлены.

// и про форматирование кода не забываем!!1
Ответ написан
Комментировать
@Argumentus
У нас на работе требуют использовать вот такой код:
if(){
k=321;
}else{
z = 256;
}
Ответ написан
Комментировать
@muzclubs Автор вопроса
Всем большое спасибо за ответы.
Тогда не буду исключать использование скобок при работе с блоками, которые внутри себя имеют только один оператор. Если преподаватель будет ругаться, то приведу ему ссылку на репозиторий.
Ответ написан
Комментировать
@murlogen
Вы правы в неожиданном месте.
Ваш вариант потенциально менее проблемен при отладке (когда комментируешь постоянно куски кода и раскомментируешь их обратно).
Вариант преподавателя "типа легко читается", но может вызывать неожидаемые смещения синтаксиса.

Я надеюсь, что отступы у вас есть.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы