Stolze,
I agree with you about OR.
I feel parentheses(for readability) are not so neccesary for AND or NOT.
For example:
order of readable and easy to understand representations may be (a) >= (b) >= (c) > (d) > (e) > (f).
(a) parenthesize conditions connected by OR and conditions prefiexed by NOT
Code:
( condition-1 AND ( NOT condition-2 ) AND condition-3 )
OR ( condition-4 )
OR ( ( NOT ( condition-5 AND condition-6 ) ) AND condition-7 )
/* is equivalent to */
( condition-1 AND ( NOT condition-2 ) AND condition-3 )
OR ( condition-4 )
OR ( ( ( NOT condition-5 ) OR ( NOT condition-6 ) ) AND condition-7 )
or
Code:
( c-1 AND ( NOT c-2 ) AND c-3 ) OR ( c-4 ) OR ( ( NOT ( c-5 AND c-6 ) ) AND c-7 )
(b) parenthesize conditions connected by OR
Code:
( condition-1 AND NOT condition-2 AND condition-3 )
OR ( condition-4 )
OR ( NOT ( condition-5 AND condition-6 ) AND condition-7 )
/* is equivalent to */
( condition-1 AND NOT condition-2 AND condition-3 )
OR ( condition-4 )
OR ( ( NOT condition-5 OR NOT condition-6 ) AND condition-7 )
(c) parenthesize compound conditions connected by OR
Code:
( condition-1 AND NOT condition-2 AND condition-3 )
OR condition-4
OR ( NOT ( condition-5 AND condition-6 ) AND condition-7 )
/* is equivalent to */
( condition-1 AND NOT condition-2 AND condition-3 )
OR condition-4
OR ( ( NOT condition-5 OR NOT condition-6 ) AND condition-7 )
(d) parenthesize conditions of right to OR
Code:
condition-1 AND NOT condition-2 AND condition-3
OR ( condition-4 )
OR ( NOT ( condition-5 AND condition-6 ) AND condition-7 )
/* is equivalent to */
condition-1 AND NOT condition-2 AND condition-3
OR ( condition-4 )
OR ( ( NOT condition-5 OR NOT condition-6 ) AND condition-7 )
(e) parenthesize compound conditions of right to OR
Code:
condition-1 AND NOT condition-2 AND condition-3
OR condition-4
OR ( NOT ( condition-5 AND condition-6 ) AND condition-7 )
/* is equivalent to */
condition-1 AND NOT condition-2 AND condition-3
OR condition-4
OR ( ( NOT condition-5 OR NOT condition-6 ) AND condition-7 )
(f) only neccesary parentheses
Code:
condition-1 AND NOT condition-2 AND condition-3
OR condition-4
OR NOT ( condition-5 AND condition-6 ) AND condition-7
/* is equivalent to */
condition-1 AND NOT condition-2 AND condition-3
OR condition-4
OR ( NOT condition-5 OR NOT condition-6 ) AND condition-7
or
Code:
c-1 AND NOT c-2 AND c-3 OR c-4 OR NOT ( c-5 AND c-6 ) AND c-7
While I prefer (c) or (e) and sometimes use (b),
some person may prefer (a) or (b).
Stolze,
do you like (b) or (c)?