if (A)
{
if(B)
{
if(C)
{
if(D)
{
...
}
}
}
}
vs
if (!A) { return; }
if (!B) { return; }if (!C) { return; }
if (!D) { return; }...
무적권 후자???
if (A)
{
if(B)
{
if(C)
{
if(D)
{
...
}
}
}
}
vs
if (!A) { return; }
if (!B) { return; }if (!C) { return; }
if (!D) { return; }...
무적권 후자???
전
애초에 후자 같은 코드가 일반적으로 나올 수 있겠냐? if문이 중첩됐다는 건 상위 if문의 코드 블록 안에서 하위 if문에 필요한 조건식 인자가 있는 경우가 다반사인데
후자
직접 보고 느껴봐.#1if ( onGround ){ int x = getX(); if ( x > 100 ) { }}#2if (!onGround) return;if (!(x > 100 )) return; // x를 어디서 구함? x를 비효율적으로 미리 구해놓음? 그것 뿐이겠냐? NOT 연산 많이 쓰면 가독성 끝장이다.
#2에서 첫번째 if랑 두번째 if사이에 바깥에 구하면 되지 않음?