[bind10-dev] [bikeshed] C++ indentation style
JINMEI Tatuya / 神明達哉
jinmei at isc.org
Thu Feb 3 19:47:48 UTC 2011
I've noticed that recent BIND 10 C++ code has a mixture of two
different indentation styles for multi-line expressions:
(traditional?) BSD style and BSD KNF style and (see
http://en.wikipedia.org/wiki/Indent_style).
1. In the (traditional?) BSD style, continuing lines are aligned with
the corresponding opening parenthesis:
if (JS_DefineProperty(cx, o, "data",
STRING_TO_JSVAL(JS_NewStringCopyN(cx, data, res)),
NULL, NULL, JSPROP_ENUMERATE) != 0) {
2. In the KNF style, continuing lines always start at the same column,
indented by the size of "soft tab":
if (JS_DefineProperty(cx, o, "data",
STRING_TO_JSVAL(JS_NewStringCopyN(cx, data, res)),
NULL, NULL, JSPROP_ENUMERATE) != 0) {
I'd like to keep the style consistent (I have my own preference, which
is style #1, but I don't mind using a non preferred style if that's
the group consensus).
Both styles have pros and cons:
- style #1 is (at least seemingly) consistent with other ISC code
including BIND 9 and DHCP.
- style #1 better clarifies the relationship between a function and
its parameters (it's clearer in style #1 that NULLs are parameters
of JS_DefineProperty(), not STRING_TO_JSVAL()).
- style #2 uses the space more efficiently (style #1 tends to require
large redundant spaces in the left side, which can lead to
unnecessarily longer lines)
- (very minor point) style #1 is more friendly with Emacs (as far as
I know we need to write a custom hook to use style #2 on Emacs)
- (ditto) style #2 is (reportedly?) more friendly with vi
But I think this is largely a preference matter in the end, and using
consistent style is much more important to me (the mixture of these
styles is reducing code readability pretty substantially).
If there is the majority that prefers a particular style, I'm okay
with adopting it. If there's no clear majority, I propose using style
#1 because of its consistency with other ISC code (disclaimer: I may
be biased here because #1 is my preferred style).
Does this proposal make sense? If so, which style do main developers
prefer?
---
JINMEI, Tatuya
More information about the bind10-dev
mailing list