11

Achtung⁠⁠

if (null != result)
System.out.println("--- Achtung! Alarma! Attention! There was some error. Response code is '" + result[1] + "'.");

PS: найдено в исходниках корпоративной системы документооборота.
Вы смотрите срез комментариев. Показать все
0
Официальный ответ
Автор поста оценил этот комментарий
result != null - так проще воспринимается имхо
раскрыть ветку (9)
1
Автор поста оценил этот комментарий
Зато не спасает от опечаток. На "if (null = result)" компилятор даст ошибку, на "if (result = null)" нет.
раскрыть ветку (8)
0
Официальный ответ
Автор поста оценил этот комментарий
от опечаток спасает отладчик
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Ага, когда бага уже посажена. А если null = result, такое компилятор не пропустит.
0
Автор поста оценил этот комментарий
в данном случае да, в остальных - нет. ч то выбрать, надежность в 5% случаев применения ifа или читаемость и единообразие?
раскрыть ветку (5)
0
Автор поста оценил этот комментарий
В каких случаях не спасет? "if (var1 == var2)"? А как по-другому вы хотите его написать? Остальные сравнения с immutables (кроме хитрожопых языков a-la javascript) будут "защищены". Впрочем, да, это дело стиля кодирования - как удобней, как нужнее, как скажет начальство...
раскрыть ветку (4)
1
Автор поста оценил этот комментарий
P.S. Вы про неравенства? "if (var > 5)" которые. В таком случае не спасет, конечно же - тут уже дело для статического анализатора и обыкновенной отладки.
P.P.S. Лучше скажу заранее. Во-первых, лично я обратный порядок сравнения "if (null == result)" никогда не использовал и использовать не буду, и во-вторых, я никому его не навязываю и никого от него не отговариваю - есть плюсы и минусы, и для меня ни одна сторона не перевешивает другую.
0
Автор поста оценил этот комментарий
>>В каких случаях не спасет? "if (var1 == var2)"?
ага
>>А как по-другому вы хотите его
result != null
тем более что ! уже избавится от ошибки приравнивания

впрочем вы все правильно сказали
раскрыть ветку (2)
0
Автор поста оценил этот комментарий
Следовало читать как:

> "if (var1 == var2)"? А как по-другому вы хотите его написать?

Если перевести с русского на русский: обратный порядок операндов в условии "if (null == var)", спасающий от ситуации "if (null = var)", не спасет от ситуации "if (var1 = var2)", так как эта операция является вполне легитимной. Однако в таком случае об обратном порядке операндов говорить нельзя, так как "if (var1 == var2)" и "if (var2 == var1)" равноценны по смыслу (кроме совсем тонких моментов вроде "всегда пишу обращение к this слева от оператора сравнения") - обратного порядка просто не существует, так как нельзя сказать, какой из "порядков" прямой, а какой обратный.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
ясно понятно непонятно )))
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества