ข้อไหนดีกว่าในการบำรุงรักษา
if (byteArrayVariable != null)
if (byteArrayVariable .Length != 0)
//Do something with byteArrayVariable
หรือ
if ((byteArrayVariable != null) && (byteArrayVariable.Length != 0))
//Do something with byteArrayVariable
ฉันชอบการอ่านและการเขียนที่สอง แต่ฉันจำได้ว่าการอ่านในโค้ดเสร็จสมบูรณ์ซึ่งทำสิ่งต่าง ๆ เช่นนั้นไม่ดีสำหรับการบำรุงรักษา
นี่เป็นเพราะคุณพึ่งพาภาษาที่จะไม่ประเมินส่วนที่สองของif
ถ้าส่วนแรกเป็นเท็จและไม่ใช่ทุกภาษาที่ทำเช่นนั้น (ส่วนที่สองจะโยนข้อยกเว้นถ้าประเมินด้วย null byteArrayVariable
)
ฉันไม่ทราบว่าเป็นสิ่งที่ต้องกังวลหรือไม่และฉันต้องการความคิดเห็นทั่วไปเกี่ยวกับคำถาม
ขอบคุณ
&&
และ||
ผู้ประกอบการดำเนินการประเมินผลการลัดวงจร การเปลี่ยนจากภาษาหนึ่งไปเป็นอีกภาษาหนึ่งมักจะมี gotchas อยู่บ้างและเป็นการดีที่คุณควรทำการตรวจสอบโค้ดเพื่อช่วยแก้ไขปัญหาเล็กน้อยเหล่านั้น