Tôi thích Lựa chọn A hơn
bool a, b, c;
if( a && b && c )
{
//This is neat & readable
}
Nếu bạn có các biến / điều kiện phương thức đặc biệt dài, bạn có thể ngắt dòng
if( VeryLongConditionMethod(a) &&
VeryLongConditionMethod(b) &&
VeryLongConditionMethod(c))
{
//This is still readable
}
Nếu chúng thậm chí còn phức tạp hơn, thì tôi sẽ xem xét thực hiện các phương thức điều kiện riêng biệt bên ngoài câu lệnh if
bool aa = FirstVeryLongConditionMethod(a) && SecondVeryLongConditionMethod(a);
bool bb = FirstVeryLongConditionMethod(b) && SecondVeryLongConditionMethod(b);
bool cc = FirstVeryLongConditionMethod(c) && SecondVeryLongConditionMethod(c);
if( aa && bb && cc)
{
//This is again neat & readable
//although you probably need to sanity check your method names ;)
}
IMHO Lý do duy nhất cho tùy chọn 'B' là nếu bạn có các else
chức năng riêng biệt để chạy cho từng điều kiện.
ví dụ
if( a )
{
if( b )
{
}
else
{
//Do Something Else B
}
}
else
{
//Do Something Else A
}