私が働いている会社では、最近、すべての「非常に可視性の高い」ブール論理を選言標準形で表現する必要があるという義務があります。
したがって、たとえば(概念は言語に依存しませんが)、
#if (defined(A) || defined( B )) || (defined(C) && defined(D))
次のように置き換える必要がありました:
#if defined(A) || (defined(C) && defined(D)) || defined(B)
コードをこのように表現する必要があることを義務付ける動機は何ですか?利点は何ですか?