RFC: Change coding standard to not indent namespaces ever

Currently there is a mixture of indented namespaces and un-indented namespaces in both LLVM and Clang. I think this is confusing and it wastes developer time debating the issue. I’d like to pick one and stick with it consistently.

Indenting cannot possibly work in many contexts – file-wide namespaces just make no sense to indent. So I don’t think we should pick “always indent”.

The common pattern to indent is when there is a small body of code which is within a namespace. The reason for not indenting large bodies of code is that when the namespace spans so much, the indent loses any structural value, and turns into just a cost of losing valuable horizontal space in which to write code. This makes sense to me.

But for small blocks of code, the indent has relatively low value – both the start and end are typically visible on the screen. Why bother indenting this special case? The value seems very, very low.

So, I suggest no indent of namespaces ever. I’m happy to make the corresponding change to the coding standards. Naturally, I’m not suggesting rampant re-indenting of code. I’d just like to set a consistent rule going forward so we don’t debate this, and know what to do when I see a chunk of code and about to make very significant changes to it and want to clean up formatting while I’m there.

-Chandler

Hi Chandler,

thanks for pushing to further formalize our coding standards. I fully follow your reasoning and want to add that this is what clang-format is currently already doing.

Cheers,
Tobias

+1 this makes sense. It’s what clang-format is already doing anyway, right?

– Sean Silva

+1 from me.

-Chris

I think your logic is sound, +1 from me, FWIW.

~Aaron

LGTM.

–renato

Hearing no objections and support from various parts of the community, committed in r199620. I made sure to mention using ending comments to clarify where things end when useful.