Что из этого лучше для ремонтопригодности?
if (byteArrayVariable != null)
if (byteArrayVariable .Length != 0)
//Do something with byteArrayVariable
ИЛИ ЖЕ
if ((byteArrayVariable != null) && (byteArrayVariable.Length != 0))
//Do something with byteArrayVariable
Я предпочитаю читать и писать второе, но я вспоминаю чтение в законченном коде, что подобные вещи плохо влияют на удобство сопровождения.
Это потому, что вы полагаетесь на язык, чтобы не оценивать вторую часть, if
если первая часть неверна и не все языки делают это. (Вторая часть выдаст исключение, если оценивается с нулем byteArrayVariable
.)
Я не знаю, действительно ли это о чем-то беспокоиться или нет, и я хотел бы получить общий отзыв по этому вопросу.
Спасибо.
&&
и ||
операторов , выполняющих оценку короткого замыкания. Переход с одного языка на другой обычно имеет некоторые недостатки, и хорошо быть твердым в том, чтобы делать обзоры кода, чтобы помочь уловить эти маленькие проблемы.