[webkit-dev] Switch statement indentation

Maciej Stachowiak mjs at apple.com
Wed Dec 2 20:05:17 PST 2009


On Dec 2, 2009, at 7:56 PM, Geoffrey Garen wrote:

>> The downside is that some code can get indented too far, which is  
>> particularly unfortunate for large switches.
>
> We could issue a fuzzy declaration such as, "Indent case blocks,  
> except in situations where an unreasonable amount of code would end  
> up so-indented, causing readability problems".
>
> Two examples of situations where indenting case blocks would cause  
> readability problems are the JavaScriptCore interpreter and, to a  
> lesser extent, the JavaScriptCore JIT. All of Interpreter.cpp would  
> suddenly be indented by an extra 4 spaces, sucking up valuable  
> horizontal real estate.

I believe one rule that could work is something like this:

- Indent case labels inside a switch two spaces.
- Indent actual statements inside a switch four spaces.
- In the case where a case label is followed by a block, include the  
open brace on the same line as the case label and indent the matching  
close brace only two spaces (but still 4 spaces for the contained  
statements).

That would not cause any code to be excessively indented, but would  
avoid some of the downsides of not indenting at all mentioned by Chris.

I would rather have a clear rule that makes sense in a  variety of  
situations than a fuzzy guideline.

Regards,
Maciej


More information about the webkit-dev mailing list