Size: a a a

2020 November 21

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
ns ...
Ребята, а если у меня 2 nested loops, как можно одной командой в последнем внутреннем цикле сразу выйти из всех циклов, чтобы три раза break не писать?
for () {
   for() {
       for () {
       }
   }
}
Вынести это в отдельный метод и по return выйти из него.
Но такая вложенность - это очень подозрительно
источник

..

... ... in learn.java
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
Вынести это в отдельный метод и по return выйти из него.
Но такая вложенность - это очень подозрительно
break с меткой будет лучше
источник

n.

ns ... in learn.java
central hardware
какую задачу решает данный код
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
... ...
break с меткой будет лучше
Ну нет же. Эти вариации goto - это совсем плохой подход
источник

n.

ns ... in learn.java
central hardware
есть ощущение, что если переписывать с нормальной архитектурой то там вообще может циклов не остаться
это как? с нормально архитектурой...
источник

..

... ... in learn.java
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
Ну нет же. Эти вариации goto - это совсем плохой подход
Это как строгий goto. Ну и создавать отдельные методы я думаю не лучший подход
источник

..

... ... in learn.java
break с меткой можно использовать лишь в циклах
источник

n.

ns ... in learn.java
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
Вынести это в отдельный метод и по return выйти из него.
Но такая вложенность - это очень подозрительно
тоже верно. не подумал об этом. спс.
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
... ...
Это как строгий goto. Ну и создавать отдельные методы я думаю не лучший подход
Я не скажу, что это единственно правильный подход, но в подавляющем большинстве случаев отельный метод - это правильное решение
источник

..

... ... in learn.java
С break меньше будет кода. Но можете мне сказать в чем состоит ваша неприязнь к break с меткой?
источник

ШП

Шурок Петров... in learn.java
ns ...
это как? с нормально архитектурой...
Попробуй порешать  задачки на других ресурсах (ака codewars, leetcode etc...) и после решения смотри решения других людей, и анализируй их.
источник

ch

central hardware in learn.java
если немного подумать эту задачу можно решить без вложенных циклов
источник

n.

ns ... in learn.java
central hardware
если немного подумать эту задачу можно решить без вложенных циклов
ну мой багаж знаний пока не позволяет о другом решений думать.
Я что уже прошел в теории, этими знаниями и пытаюсь решать пока что...
источник

n.

ns ... in learn.java
Шурок Петров
Попробуй порешать  задачки на других ресурсах (ака codewars, leetcode etc...) и после решения смотри решения других людей, и анализируй их.
ок. спс
источник

M

Maxim Borisov in learn.java
central hardware
если немного подумать эту задачу можно решить без вложенных циклов
ты в одни фор придумал или стримы?
источник

ch

central hardware in learn.java
Maxim Borisov
ты в одни фор придумал или стримы?
я думал про рекурсию, но ее можно разложить в цикл без проблем
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
... ...
С break меньше будет кода. Но можете мне сказать в чем состоит ваша неприязнь к break с меткой?
Меньшее количество кода - это не самоцель.
Правильное выделение методов(с хорошими именами) сильно повышает читаемость.
Логика на goto в любом виде - это шаг в сторону неподдерживаемого кода.
источник

..

... ... in learn.java
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
Меньшее количество кода - это не самоцель.
Правильное выделение методов(с хорошими именами) сильно повышает читаемость.
Логика на goto в любом виде - это шаг в сторону неподдерживаемого кода.
Соглашусь, если выделить в отдельный метод, то код будет более читаемым, но на счет поддержки кода где есть break с меткой не соглашусь. Вряд-ли код где есть один break с меткой будет затруднителен в поддерживании.
источник

..

... ... in learn.java
вы приводите аналогии с goto, хотя break с меткой на много безопаснее(ограничен чем) goto.
источник

ch

central hardware in learn.java
... ...
Соглашусь, если выделить в отдельный метод, то код будет более читаемым, но на счет поддержки кода где есть break с меткой не соглашусь. Вряд-ли код где есть один break с меткой будет затруднителен в поддерживании.
в рамках учебных или просто небольших проектов да, но если это проект большой, то надо просто делать нормально
источник