¿Cuál de estos es mejor para la mantenibilidad?
if (byteArrayVariable != null)
if (byteArrayVariable .Length != 0)
//Do something with byteArrayVariable
O
if ((byteArrayVariable != null) && (byteArrayVariable.Length != 0))
//Do something with byteArrayVariable
Prefiero leer y escribir el segundo, pero recuerdo leer en código completo que hacer cosas así es malo para la mantenibilidad.
Esto se debe a que confía en el idioma para no evaluar la segunda parte de if
si la primera parte es falsa y no todos los idiomas lo hacen. (La segunda parte arrojará una excepción si se evalúa con un valor nulo byteArrayVariable
).
No sé si eso es realmente algo de qué preocuparse o no, y me gustaría recibir comentarios generales sobre la pregunta.
Gracias.
&&
y los ||
operadores que realizan la evaluación de corto circuito. Pasar de un idioma a otro generalmente tiene algunos inconvenientes, y es bueno ser firme al hacer revisiones de código para ayudar a detectar esos pequeños problemas.