Extra parenthesis in if-clause vs. readability For a while now, our team has been doing peer code reviews of all submissions. As we've learned, everyone has different styles and going forward, all of us see a need to converge at some kind of tribal/team style so that the code looks consistent and we don't spend time in code reviews arguing one style vs. another.

For most part we've been able to come up with compromises but few, such as this one, are turning out to be sticky:

if ((bIsPaused) || (runState != LnrState_Running))
{ 
    ....
}


vs.

if (bIsPaused || runState != LnrState_Running)
{
    ....
}


One one side, the argument is less characters -> less information to process -> more readable code.

On the other side, the argument is that extra parenthesis help to read the code.

I'm curious if this is a purely personal thing and the entire community split 50/50 on this (in which case, I'm probably going to be bashed for asking this question), or if you guys think one way is actually more preferred than the other.

UPDATE: removed spaces in the example code so the answers/comments just focus on existence/absence of extra parenthesis pairs.
Compare this:

if ( ( bIsPaused ) || ( runState != LnrState_Running ) )


And this:

if ( [ bIsPaused ] || [ runState != LnrState_Running ] )


You'll find, I think, that the second is much easier to read. This is because I'm using multiple types of braces (illegal, but bear me with here). As humans we can identify the different symbols very quickly, but we can't really line up matching symbols all that quickly.

This technique:

if ( ( bIsPaused ) || ( runState != LnrState_Running ) )


Depends on pairing up symbols, something we aren't actually all that good at.

However, this technique:

if ( bIsPaused || runState != LnrState_Running )


Depends on our ability to distinguish symbols, which is really good, and not on pairing symbols. It does also depend on our ability to apply precedence rules. My experience has been that after years of practice coding that's second nature.

Also, consider math. Mathematics has been around a lot longer then CS and they've adopted precedence rules and get rid of the parenthesis whenever they can.

For those reason, I prefer to eliminate as many parenthesis as possible.