Показать сообщение отдельно
Старый 02.08.2010, 08:41   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
По-моему, не все так однозначно. Эта тема обсуждалась также в блоге Эрика Липперта, в заметке Style follows semantics:
Цитата:
The stylistic choices should typically be driven by a desire to clearly communicate the semantics of the program fragment.
Мне кажется, в данном случае использование while может при беглом просмотре кода сбить с толку, поэтому вариант с простым select firstonly и проверкой результата все же предпочтительнее за счет большей выразительности. Кроме того, с точки зрения последующей возможной модификации код лучше сразу писать так, чтобы для его изменения нужно было править как можно меньше строк исходного кода Х++; совсем хорошо, если модификации можно просто дописать в нужном месте, не изменяя строки исходного код Х++ вовсе. Так вот, если понадобится, к примеру, добавить ветвление для случая, когда запись не найдена, то в варианте с if можно будет просто дописать блок else {}, а для while select придется изголяться - к примеру, вводить какую-то переменную-флаг, изменять ее внутри цикла и затем анализировать - вся экономия строк кода моментально улетучится, а читабельности это все совсем не прибавит.
За это сообщение автора поблагодарили: Logger (1), lev (2).