P1, P2, Q1
및 Q2
이 술어라고 가정합니다. 더 간결하기 때문에 내가 처음 일을 선호이 중첩 된 조건부 분기를 명확한 방법으로 작성하는 방법은 무엇입니까?
if (P1(x) ? P2(y) : true) && (Q1(z) ? Q2(w) : true)
do-something
및
if (P1(x) && Q1(z))
if (P2(y) && Q2(w))
do-something
if (P1(x) && ! Q1(z))
if (P2(y))
do-something
if (! P1(x) && Q1(z))
if (Q2(w))
do-something
if (! P1(x) && ! Q1(z))
do-something
:
나는 같은 일의 두 가지 구현을 마련. 그러나 나는 무엇인가 놓치 느냐?
위의 두 가지 방법보다 나은 점이 있습니까? 술어 R1
및 P1
및 P2
유사하게 R2
작업 쌍 이상이있는 경우
, 첫 번째 방법은 좋은 또는 가장 좋은 방법은?
P2
및 Q2
을 기능으로 항상 구현하는 것이 더 좋습니까? 기능으로 구현되지 않으면 어떻게 될까요?
** 기능 ** 코드의 순열은 [Code Review] (http://codereview.stackexchange.com/)에 더 적합하다고 생각됩니다. – Claies