Cái nào trong số này là tốt hơn cho khả năng bảo trì?
if (byteArrayVariable != null)
if (byteArrayVariable .Length != 0)
//Do something with byteArrayVariable
HOẶC LÀ
if ((byteArrayVariable != null) && (byteArrayVariable.Length != 0))
//Do something with byteArrayVariable
Tôi thích đọc và viết thứ hai, nhưng tôi nhớ việc đọc mã hoàn thành rằng làm những việc như thế là không tốt cho khả năng bảo trì.
Điều này là do bạn đang dựa vào ngôn ngữ để không đánh giá phần thứ hai if
nếu phần thứ nhất là sai và không phải tất cả các ngôn ngữ đều làm điều đó. (Phần thứ hai sẽ đưa ra một ngoại lệ nếu được đánh giá bằng null byteArrayVariable
.)
Tôi không biết đó có thực sự là điều đáng lo ngại hay không và tôi muốn phản hồi chung về câu hỏi.
Cảm ơn.
&&
và các ||
nhà khai thác thực hiện đánh giá ngắn mạch. Đi từ ngôn ngữ này sang ngôn ngữ khác thường có một số vấn đề, và thật tốt khi làm công việc đánh giá mã để giúp nắm bắt những vấn đề nhỏ đó.