Тестовые петли сверху или снизу? (в то время как против делать пока) [закрыто]
Когда я брал CS в колледже (середина 80-х), одна из идей, которые постоянно повторялись, заключалась в том, чтобы всегда писать циклы, которые проверяют сверху (в то время как ...), а не внизу (делать ... пока) из петля. Эти понятия часто подкреплялись ссылками на исследования, которые показали, что циклы, которые тестировались сверху, были статистически гораздо более правильными, чем их аналоги, тестируемые снизу.
В результате я почти всегда пишу циклы, которые проверяют сверху. Я не делаю этого, если это вносит дополнительную сложность в код, но этот случай кажется редким. Я заметил, что некоторые программисты обычно пишут циклы, которые тестируют снизу. Когда я вижу такие конструкции, как:
if (condition)
{
do
{
...
} while (same condition);
}
или обратное (if
внутриwhile
), это заставляет меня задаться вопросом, действительно ли они написали это таким образом или они добавилиif
заявление, когда они поняли, что цикл не обрабатывает нулевой регистр.
Я немного погуглил, но не смог найти никакой литературы на эту тему. Как вы, ребята (и девочки) пишете свои петли?