Tôi nhớ nhiều năm trước, khi tôi còn đi học, một trong những giáo viên khoa học máy tính của tôi dạy chúng tôi nên kiểm tra 'tính đúng đắn' hoặc 'bình đẳng' của một điều kiện chứ không phải những thứ tiêu cực như 'bất bình đẳng'.Thực hành kiểm tra 'tính đúng đắn' hoặc 'bình đẳng' trong các câu lệnh có điều kiện - có thực sự hợp lý không?
Hãy để tôi giải thích - Nếu một đoạn mã có điều kiện có thể được viết bằng cách kiểm tra xem biểu thức là đúng hay sai, chúng ta nên kiểm tra 'độ đúng'.
Ví dụ: Tìm hiểu xem một số là số lẻ - nó có thể được thực hiện theo hai cách:
if (num % 2 != 0)
{
// Number is odd
}
hoặc
if (num % 2 == 1)
{
// Number is odd
}
(Vui lòng tham khảo câu trả lời rõ rệt cho một ví dụ tốt hơn.)
Khi tôi bắt đầu viết mã, tôi biết rằng num % 2 == 0
ngụ ý số này là ngay cả, vì vậy tôi chỉ cần đặt một !
ở đó để kiểm tra xem nó là lẻ. Nhưng anh ta giống như 'Đừng kiểm tra điều kiện KHÔNG. Thực hành kiểm tra 'tính đúng đắn' hoặc 'bình đẳng' của các điều kiện bất cứ khi nào có thể '. Và anh ấy khuyên tôi nên sử dụng đoạn mã thứ hai.
Tôi không ủng hộ hoặc chống lại một trong hai nhưng tôi chỉ muốn biết - sự khác biệt của nó là gì? Xin đừng trả lời 'Về mặt kỹ thuật đầu ra sẽ giống nhau' - chúng ta TẤT CẢ biết điều đó. Nó là một thực hành lập trình chung hay là thực hành lập trình của riêng mình rằng ông đang rao giảng cho người khác?
LƯU Ý: Tôi đã sử dụng cú pháp kiểu C#/C++ không có lý do gì. Câu hỏi của tôi là áp dụng như nhau khi sử dụng các toán tử IsNot
, <>
trong VB, v.v. Vì vậy, khả năng đọc của '!' nhà điều hành chỉ là một trong những vấn đề. Không phải vấn đề.
Có thể là câu hỏi wiki? – slugster