powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / на сколько плох Break для выхода из блока
14 сообщений из 39, страница 2 из 2
на сколько плох Break для выхода из блока
    #39883243
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphinotesсобственно последний вариант элементарно уже приводится к
Инлайны в условиях циклов до 10.3 не разворачивались.
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39883253
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphinotesсобственно последний вариант элементарно уже приводится кГениально! А самое главное, что все это_Vasilisk_не ухудшив читабельность
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39883256
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

Ты считаешь, что цикл с двумя операциями читается хуже, чем бесконечный цикл с четырьмя и выходом из цикла в середине?
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39883351
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphinotesТы считаешь, что цикл с двумя операциями читается хуже, чем бесконечный цикл с четырьмя и выходом из цикла в середине?Да. Потому, что эти "две операции" скрывают еще операции и описаны в другом месте.

Я молчу про дублирование кода на вызов одной и той же функции перед циклом и внутри цикла
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39883353
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда break и continue удобны, иногда нет.

Чего спорить-то?
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39883393
zinpub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_zinpubКонечно если придумать мегацикл,Вот вам простейший цикл
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
while True do begin
  if c1(a) then
    a := f1(a);

  if c2(a) then
    break;

  a := f2(a);
end;

сможете избавиться от break не ухудшив читабельность?

Дык тут я бы действительно ничего и придумывать не стал. Действительно вполне логично и читаемо.
А вот когда в цикле кода на 300 строк и сотня Break'ов ...

И про тот вариант который я приводил:
Обратите внимание :
Код: pascal
1.
until True;

- то есть конструкция цикла использована вместо label
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39883395
zinpub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
использование label - я не пропагандирую !
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39883404
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дзен.
Код: pascal
1.
2.
3.
4.
5.
6.
while True do
  if Codition then 
    True := False
  else begin
  ...
  end


Утренний.
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39883410
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

Мы так можем препираться бесконечно.
а) у тебя не понятно, что там скрыто за c1, f1, c2, f2
б) очевидна взаимосвязь c1 и f1; c2 и f2 также взаимосвязаны, хоть и менее очевидно. Их "внутренности", _возможно_, можно развернуть в d1 и d2 без ухудшения читабельности
в) ну и там от дублирования я ушёл (в варианте с repeat/until), хотя дублирование одной строки (в варианте с while) - это и дублированием назвать сложно
г) следующим комментом я пишу, что нет ничего плохо в Break и других управляющих. Просто хотел показать, что практически любой цикл можно свести к вариантам:
Код: pascal
1.
2.
  while check(context) do
    work(context);


Код: pascal
1.
2.
3.
  repeat
    work(context);
  until not check(context);


А если захотеть, то и вообще к такому:
Код: pascal
1.
while work(context) do;
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39883444
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да можно вообще всегда циклы в одну строчку делать, тело вынося в функцию. Только ересь это.
Имхо, как удобно, так и надо писать. Тем более что среда уже научилась jump-инструкции отмечать стрелочкой
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39886483
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

не согласен, а как же рекурсивные, с множествами различных групп?
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39886489
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТАССПрограммисты Delphi первыми первыми перешли на четырехдневную рабочую неделю.
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39886525
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет ничего читабельнее break, continue и exit.
Особенно - в циклах do until False.
А так же - при поиске 1-го удовлетворяющего условия.

Я бы рекомендовал использовать эти конструкции повсеместно.
...
Рейтинг: 0 / 0
на сколько плох Break для выхода из блока
    #39886526
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Нет ничего читабельнее break, continue и exit.

Не только читабельнее. "Лучше в сопровождении", в том числе читабельнее.
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / на сколько плох Break для выхода из блока
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]