Poll: Allman or K&R Indentation?

7 points by pushingbits ↗ HN
Just wondering what HN prefers.

http://en.wikipedia.org/wiki/Indent_style

8 comments

[ 23.5 ms ] story [ 1981 ms ] thread
A language that avoids the question
Depends on the language. For me, Allman is easier (==cleaner) to read.
K&R, but technically more like 1TBS (as described on Wikipedia).
Something like 1TBS style. I it is quite popular among my friends and different to both K&R and Allman. You could add it to the poll, since there are few votes at the moment and bias won't be too big.
I'm definitely in the K&R camp. I keep alternating between 1TBS and Compact Control Readability, depending on the preferences of the other members of the team working on that particular project. I personally prefer Compact Control Readability.
There are some languages, e.g., javascript, which practically force you to use K&R. In C++ and Java, I always prefer Allman though. Of course it is more readable than K&R, but, I think the choice is driven by the editor. I use Vim, which makes it dead easy to manipulate lines as a whole. I also like to have single statements without braces, so it is much easier for me to to quickly remove stray '{'s or add them as needed when the number of statements changes within a block.
I personally prefer Allman, but if I'm working with existing code, I'll use whatever style the code already uses.
I find the 1TBS style maximizes the number of lines I can get on the screen which helps in understanding what the code is doing.

I don't miss the opening brace because when I see the closing brace I can go straight up to the controlling statement.

A variant that Sun used to use was that for functions you defined them thusly:

int function_name(args) { ... }

The benefit was that grep '^function_name' *.c would turn up the file with the definition (vs the prototypes which were of the form int function_name(...))