Qual destes é melhor para manutenção?
if (byteArrayVariable != null)
if (byteArrayVariable .Length != 0)
//Do something with byteArrayVariable
OU
if ((byteArrayVariable != null) && (byteArrayVariable.Length != 0))
//Do something with byteArrayVariable
Prefiro ler e escrever o segundo, mas lembro-me de ler em código completo que fazer coisas assim é ruim para a manutenção.
Isso ocorre porque você está confiando no idioma para não avaliar a segunda parte do if
se a primeira parte for falsa e nem todos os idiomas fazem isso. (A segunda parte lançará uma exceção se avaliada com um nulo byteArrayVariable
.)
Não sei se isso é realmente algo para se preocupar ou não, e gostaria de obter um feedback geral sobre a questão.
Obrigado.
&&
e na ||
avaliação de curto-circuito. Indo de um idioma para outro geralmente tem algumas desvantagens, e é bom ser firme ao fazer revisões de código para ajudar a capturar esses pequenos problemas.