Który z nich jest lepszy dla utrzymania?
if (byteArrayVariable != null)
if (byteArrayVariable .Length != 0)
//Do something with byteArrayVariable
LUB
if ((byteArrayVariable != null) && (byteArrayVariable.Length != 0))
//Do something with byteArrayVariable
Wolę czytać i pisać drugie, ale pamiętam, że czytanie w kodzie jest kompletne, że robienie takich rzeczy jest niekorzystne z punktu widzenia konserwacji.
Wynika to z faktu, że polegasz na języku, aby nie oceniać drugiej części, if
jeśli pierwsza część jest fałszywa i nie wszystkie języki to robią. (Druga część zgłosi wyjątek, jeśli zostanie oceniony z wartością null byteArrayVariable
).
Nie wiem, czy naprawdę jest to coś do zmartwienia, czy nie, i chciałbym uzyskać ogólną opinię na temat tego pytania.
Dzięki.
&&
i ||
operatorów przeprowadzających ocenę zwarciem. Przechodzenie z jednego języka do drugiego zwykle ma pewne problemy i dobrze jest być stanowczym w kwestii dokonywania recenzji kodu, aby pomóc złapać te małe problemy.