Người trẻ biết các quy tắc, nhưng người già biết các ngoại lệ;)
Mới nhất C#, nếu bạn đang giao dịch với a null-able bool, thì bạn phải:
bool? x = null;
bool? y = true;
bool? z = false;
if (x == true || y == true || z == true) {
    // That was the only way that is reasonably readable that I know of
    // to accomplish this expression.
}
Nếu tristate không phải là vấn đề, thì thường không nên có lý do để so sánh một cái gì đó với true/ True. Tuy nhiên, trong Pythonvà một số ngôn ngữ khác như C/C++bạn có thể thực hiện một ifbiểu thức không phải là bool. Các ngôn ngữ này có các quy tắc duy nhất để diễn giải các số nguyên, con trỏ, danh sách, v.v ... là đúng hoặc sai. Đôi khi bạn không muốn điều đó. Ví dụ: trong đoạn mã Python này:
x = True
y = 'abcdef'
z1 = x and y
z2 = (x == True) and (y == True)
Ở đây znên True, nhưng z2nên được False. Bây giờ, một Clojurengôn ngữ tiếp cận điều này theo một cách khác - có andchức năng không nhất thiết phải đánh giá theo một bool, nhưng ifcó thể xử lý điều đó.
Bất kể ngôn ngữ, bất cứ khi nào bạn thấy mình so sánh một cái gì đó với Truehoặc False, nó có thể là giá trị nhận xét.
               
              
if (some_flag == true)nhưng ẩnif (is_something)hoặcif (has_something). Lưu ý tên biến.