представление сложных логических операций в удобочитаемом формате - PullRequest
1 голос
/ 16 ноября 2011

У меня есть логическое выражение: A && (B || C && D)

Однако A, B, C и D довольно длинные символьно, поэтому их представление в одной строке не являетсявозможный.Предположим для этого примера, что A, B, C и D. будут находиться в своих собственных строках.

Каков рекомендуемый способ представления этого выражения, используя при необходимости дополнительные скобки с отступами, разрывы строк и т. Д.максимизировать удобочитаемость для человека.

1 Ответ

1 голос
/ 08 августа 2012

Прежде всего, согласно вашему комментарию, вы можете использовать логические переменные, такие как bAreFooAndBarEqual, только их имя будет иметь более глубокое значение и следовать вашим собственным соглашениям об именах.

Что касается вашего конкретного примера, я бы явно показал, что я хочу, чтобы && имел приоритет над ||, и поэтому добавил еще одну пару скобок: A && (B || (C && D)). Затем я делаю отступ для каждого отверстия скобки, имея оператора слева от операндов (это личный вкус, вы должны увидеть, что вам кажется наиболее понятным):

A
&& (B
    || (C
        && D))

Конечно, это всего лишь личный вкус, и вы должны подумать, что кажется вам наиболее естественным и наиболее понятным для вас.

...