оптимизировать сложный лог c состояние - PullRequest
0 голосов
/ 17 апреля 2020

Я страдал от сложной C логики кода стиля c вроде как

if (A || (B && (X || Y)))
  foo();

Есть ли лучший способ прочитать булеву таблицу или сделать ее читабельной?

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

лучший способ

Это в основном дело вкуса.

Другой способ взглянуть на 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();
}
0 голосов
/ 17 апреля 2020

Попробуйте использовать логические переменные, такие как:

bool one = X || Y;
bool two = one && B;
if(A || two)

А также, если вы хотите печатать результаты каждый раз.

...