나는 옵션 A를 선호한다
bool a, b, c;
if( a && b && c )
{
//This is neat & readable
}
특히 긴 변수 / 방법 조건이있는 경우 줄 바꿈 만하면됩니다.
if( VeryLongConditionMethod(a) &&
VeryLongConditionMethod(b) &&
VeryLongConditionMethod(c))
{
//This is still readable
}
더 복잡한 경우 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 옵션 'B'의 유일한 이유 else
는 각 조건에 대해 실행할 별도의 기능 이있는 경우 입니다.
예 :
if( a )
{
if( b )
{
}
else
{
//Do Something Else B
}
}
else
{
//Do Something Else A
}