See http://thread.gmane.org/gmane.comp.version-control.git/3903/focus=4126 Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- Documentation/CodingGuidelines | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index 21e4272..86fb9f6 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -212,6 +212,32 @@ For C programs: - Double negation is often harder to understand than no negation at all. + - There are two schools of thought when it comes to comparison, + especially inside a loop. Some people prefer to have less stable + value on the left hand side and more stable value on the right hand + side, e.g. if you have a loop that counts variable i down to the + lower bound, + + while (i > lower_bound) { + do something; + i--; + } + + Other people prefer to have the textual order of values match the + actual order of values in their comparison, so that they can + mentally draw a number line from left to right and place these + values in order, i.e. + + while (lower_bound < i) { + do something; + i--; + } + + Both are valid, and we use both, even though we tend to see the + former the more preferable, the more "stable" the more stable side + becomes (comparison with a constant, "i > 0", is an extreme + example). Just do not mix styles in the same part of the code. + - Some clever tricks, like using the !! operator with arithmetic constructs, can be extremely confusing to others. Avoid them, unless there is a compelling reason to use them. -- 2.0.0-rc1-355-gd6d6511 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html