лучший способ
Это в основном дело вкуса.
Другой способ взглянуть на OR и AND - это обращаться с ними так, как если бы / elseif / elseif или if / if / if конструкции.
Так что
if (A || (B && (X || Y)))
станет
if A
foo();
else if B {
if X
foo();
else if Y
foo();
}