|
![]() |
#1 |
очами вижу
|
Цитата:
Сообщение от DSPIC
![]() Можно-то можно, и в С оператор goto использовать никто не запрещает, но правильнее было бы (это моё субъективное мнение) поставить более красивое условие выхода из цикла вместо использования break, который часто ломает логику. Я к тому чтобы использовать break, если уж без него никак, а не лепить где попало.
Так что break и continue зачастую позволяют написать более легкий для чтения код. Что лучше: X++: for (int i = 0; i < m; ++i) { if (array[i] <= 0) continue; // do something with array[i] // lot's of code } // или for (int i = 0; i < m; ++i) { if (array[i] > 0) { // do something with array[i] // lot's of code } } |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от RumataEstor
![]() В тех же "Best Practices" от разработчиков Аксапты пишут, что рекомендуется прерывать блок обработки как можно раньше. И желательно обходиться без лишней лесенки в коде (высокой степени вложенности блоков).
Так что break и continue зачастую позволяют написать более легкий для чтения код. (...) Огород в условии цикла совсем не улучшает читаемость кода. А главное помнить, что код для того, чтобы его читать человеку. Для написанния кода (кроме очевидного факта его работоспособности) существуют два основных пожелания: - Код должен быть "читабельным". Т.е. его можно легко понять - Код должен быть модифицируемым. Т.е. его можно легко изменить Так вот, факт прерывания цикла может как улучшить, так и ухудшить обе эти характеристики. В зависимости от конкретной задачи Поэтому данная рекомендация - эта одна из тех рекомендаций, которую нельзя применять "в лоб". Не обдумав все последствия. Как минимум, она очень спорная. |
|
![]() |
#3 |
Участник
|
С моей точки зрения 2. лучше:
- там блок, который пропускается явно отделен отступом - там нет ифа в строчку без отступа и скобок - если захочется что-то вставить в конец каждой итерации цикла, то это можно будет сделать не анализируя читая весь код тела цикла выше, нет ли там continue лично я иногда пользуюсь break (когда речь идет про поиск обычно), continue - вообще никогда |
|