Исключительно в целях улучшения читабельности кода рекомендуется вместо структур вида: if ((p = q)) [1] писать: if ((p = q) != NULL) [2]. Это главным образом связано с тем, что программисты часто ошибаются используя '=' вместо '=='.
В случае когда проверка на NULL проводится явным образом[2] у человека читающего код, мысли о том что вы что-то перепутали не возникает, чего нельзя сказать о коде [1].
UPD: инструкцией if((p = q) != NULL) имеет смысл пользоваться только, если q - это вызов функции, возвращаемое значение которой мы хотим сохранить. Например:
if((r = foo(...)) != 0) err(1, "foo");
thx2 ivaxer.
вторник, 26 мая 2009 г.
Подписаться на:
Комментарии к сообщению (Atom)
инструкцией if((p = q) != NULL) имеет смысл пользоваться только, если q - это вызов функции, возвращаемое значение которой мы хотим сохранить. Например:
ОтветитьУдалитьif((r = foo(...)) != 0) {
обработка ошибки, с кодом r
}