Правила программирования на С и С++. Главы 1-6 Страница 67. Избегайте циклов do/while
|
Страница 67 из 93 60. Избегайте циклов do/while.
Цикл do/while опасен в принципе, так как вы обязательно выполняете его тело хотя бы один раз. Следовательно, вы должны проверить условия завершения до входа в этот цикл. Я часто вижу код, похожий на следующий: if ( !проверить_нечто ) return ERROR; do { начинка(); } while ( проверить_нечто ); Вам гораздо лучше сделать так: while ( проверить_нечто ) начинка(); Похожий случай: if ( некое_условие() ) do // масса материала while ( некое_условие() ?? другой_материал() ); легче трактовать следующим образом: while ( некое_условие() ) { // масса материала if ( !другой_материал() ) break;}Я профессионально занимаюсь программированием с 1979 года и за это время использовал цикл do/while всего два раза. 60.1. Никогда не используйте do/while для бесконечного цикла.
Код, похожий на следующий: do { // здесь следует несколько страниц кода while ( 1 ); просто заставляет сопровождающего программиста шарить по листингу взглядом, ища while, вместо того, чтобы найти его сразу в случае расположения оператор while (1) в начале цикла. |