Показать сообщение отдельно
Старый 02.07.2008, 14:55   #15  
RumataEstor is offline
RumataEstor
очами вижу
 
84 / 19 (1) ++
Регистрация: 29.04.2008
Адрес: Москва
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Можно-то можно, и в С оператор goto использовать никто не запрещает, но правильнее было бы (это моё субъективное мнение) поставить более красивое условие выхода из цикла вместо использования break, который часто ломает логику. Я к тому чтобы использовать break, если уж без него никак, а не лепить где попало.
В тех же "Best Practices" от разработчиков Аксапты пишут, что рекомендуется прерывать блок обработки как можно раньше. И желательно обходиться без лишней лесенки в коде (высокой степени вложенности блоков).
Так что 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
	}
}
Огород в условии цикла совсем не улучшает читаемость кода. А главное помнить, что код для того, чтобы его читать человеку.