Follow-up Comment #2, bug #13848 (project freeciv):

> I don't like "switch" and "case" at same indentation
> level. I would vote for half indent step (2/2 = 1)
> for "case"

I do not feel that using one space indentation for
just this one area is very consistent with the two
space indentation rule used for most of the other
formatting rules. I think we should stick to units
of two spaces whenever indenting (or outdenting).


Using the attached perl script in the root of the
source tree:

$ grep switch `find -name \*.c` -A 3 -sn | ./switchstats.pl

gives the following statistics for the indentation
of the case label relative to the preceeding switch
statement:

-6 = 1
-5 = 25
0 = 405
1 = 22
2 = 485
3 = 1
4 = 2
5 = 1
8 = 3

Most follow the new style rule (0 = 405) and the old
convention of having the case label indented and then
also the case body indented again (2 = 485).

(The weird stuff like -5 and 8 is due to tabs mixed
into the leading whitespace, macros, or (I assume)
typos. If you run the script it will show the context
for these outlier values.)

When making the rule for the coding style, I rejected
the second style (2 = 485) even though it has more
occurences because I feel it causes too much
indentation of most of the switch body relative to
the switch statement (most code would be 2 levels out
from the switch statement, in contrast to all other
code blocks).

I also prefer the 0 rule because if we realize that
case labels are essentially the same as goto labels,
then the rule is consistent with the goto label
outdenting rule (everything in the switch body is
indented by one level (2 spaces), and the goto
labels (case labels) are outdented back one level
making them align with the switch statement again).


Unfortunately since we do not have that many active
maintainers, if you are not convinced by my arguments
this issue would be at a standstill. In that case I
would be open to just not including any switch-case
indentation rule in the guide, thus implicitly
allowing any not completely insane convention used
by contributors (i.e. 0, your 1+1, or 2 would be ok).


----------------------------------------------------------------
あの人もある時に痛いほど凹んでしまった。

(file #6117)
    _______________________________________________________

Additional Item Attachment:

File name: switchstats.pl                 Size:0 KB


    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?13848>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to