indent style

from Jargon File (4.4.4, 14 Aug 2003)
indent style
 n.

   [C, C++, and Java programmers] The rules one uses to indent code in a
   readable fashion. There are four major C indent styles, described
   below; all have the aim of making it easier for the reader to visually
   track the scope of control constructs. They have been inherited by C++
   and Java, which have C-like syntaxes. The significant variable is the
   placement of { and } with respect to the statement(s) they enclose and
   to the guard or controlling statement (if, else, for, while, or do) on
   the block, if any.

   K&R style -- Named after Kernighan & Ritchie, because the examples in
   {K&R} are formatted this way. Also called kernel style because the
   Unix kernel is written in it, and the `One True Brace Style' (abbrev.
   1TBS) by its partisans. In C code, the body is typically indented by
   eight spaces (or one tab) per level, as shown here. Four spaces are
   occasionally seen in C, but in C++ and Java four tends to be the rule
   rather than the exception.

   if (<cond>) {
        <body>
   }

   Allman style -- Named for Eric Allman, a Berkeley hacker who wrote a
   lot of the BSD utilities in it (it is sometimes called BSD style).
   Resembles normal indent style in Pascal and Algol. It is the only
   style other than K&R in widespread use among Java programmers. Basic
   indent per level shown here is eight spaces, but four (or sometimes
   three) spaces are generally preferred by C++ and Java programmers.

   if (<cond>)
   {
        <body>
   }

   Whitesmiths style -- popularized by the examples that came with
   Whitesmiths C, an early commercial C compiler. Basic indent per level
   shown here is eight spaces, but four spaces are occasionally seen.

   if (<cond>)
        {
        <body>
        }

   GNU style -- Used throughout GNU EMACS and the Free Software
   Foundation code, and just about nowhere else. Indents are always four
   spaces per level, with { and } halfway between the outer and inner
   indent levels.

   if (<cond>)
  {
    <body>
  }

   Surveys have shown the Allman and Whitesmiths styles to be the most
   common, with about equal mind shares. K&R/1TBS used to be nearly
   universal, but is now much less common in C (the opening brace tends
   to get lost against the right paren of the guard part in an if or
   while, which is a {Bad Thing}). Defenders of 1TBS argue that any
   putative gain in readability is less important than their style's
   relative economy with vertical space, which enables one to see more
   code on one's screen at once. The Java Language Specification
   legislates not only the capitalization of identifiers, but where
   nouns, adjectives, and verbs should be in method, class, interface,
   and variable names (section 6.8). While the specification stops short
   of also standardizing on a bracing style, all source code originating
   from Sun Laboratories uses the K&R style. This has set a precedent for
   Java programmers, which most follow.

   Doubtless these issues will continue to be the subject of {holy wars}.
    
from The Free On-line Dictionary of Computing (8 July 2008)
indent style
1TBS

   <programming> The rules one uses to indent code in a readable
   fashion.  There are four major {C} indent styles, described
   below; all have the aim of making it easier for the reader to
   visually track the {scope} of control constructs.  The
   significant variable is the placement of "{" and "}" with
   respect to the statement(s) they enclose and to the guard or
   controlling statement ("if", "else", "for", "while", or "do")
   on the block, if any.

   "K&R style" - Named after Kernighan & Ritchie, because the
   examples in {K&R} are formatted this way.  Also called "kernel
   style" because the {Unix} {kernel} is written in it, and the
   "{One True Brace Style}" (abbreviation 1TBS) by its partisans.
   The basic indent shown here is eight spaces (or one tab) per
   level; four spaces are occasionally seen, but are much less
   common.

    if (cond) {
   	<body>
    }

   "Allman style" - named after Eric Allman, a Berkeley hacker
   who wrote a lot of the {BSD} utilities in it (it is sometimes
   called "BSD style").  Resembles normal indent style in
   {Pascal} and {ALGOL}.  Basic indent per level shown here is
   eight spaces, but four spaces are just as common (especially
   in C++ code).

    if (cond)
    {
   	<body>
    }

   "Whitesmiths style" - popularised by the examples that came
   with {Whitesmiths C}, an early commercial C compiler.  Basic
   indent per level shown here is eight spaces, but four spaces
   are occasionally seen.

    if (cond)
   	{
   	<body>
   	}

   "GNU style" - Used throughout {GNU} {Emacs} and the {Free
   Software Foundation} code, and just about nowhere else.
   Indents are always four spaces per level, with "{" and "}"
   halfway between the outer and inner indent levels.

    if (cond)
     {
       <body>
     }

   Surveys have shown the Allman and Whitesmiths styles to be the
   most common, with about equal shares.  K&R/1TBS used to be
   nearly universal, but is now much less common.  The opening
   brace tends to get lost against the right parenthesis of the
   guard part in an "if" or "while", which is a {Bad Thing}.
   Defenders of 1TBS argue that any putative gain in readability
   is less important than their style's relative economy with
   vertical space, which enables one to see more code on one's
   screen at once.  Doubtless these issues will continue to be
   the subject of {holy wars}.

   [{Jargon File}]

   (1995-07-24)
    

[email protected]