My opinion: all arguments based on extra semicolons, code alignment, etc are more or less irrelevant if you're using an editor or
IDE to auto-format your code. If you're still making the extra-semicolon error, then you seriously need better tools. The only real basis for argument here is which is easier to read. Again, with decent tools, good syntax highlighting is going to make the distinction less important.
Lest you think I'm a slave to a particular IDE, actually these arguments hold perfectly well for Emacs, which I used exclusively for years until quite recently (now I'm a huge IntelliJ fan.)
Now, as far as my feelings on the poll question: I think B is
harder to read, because that extra blank line disconnects the condition from the action. Far more important, I think, is a blank line
before the condition, not after; i.e.,
is much worse than
but
if far, far, far worse. In this last sample, the extra blank line from the brace serves to separate the condition from the action, and so the condition looks like it's associated (in some way) with the previous statement. The last permutation is
and again, the extra line with the brace makes the association of the condition and the action less clear.
So I vote for A, and the tally is now
a:4
b:7