Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!cwjcc!gatech!mcnc!decvax!decwrl!sun!pitstop!sundc!seismo!uunet!mcvax!hp4nl!htsa!fransvo From: fransvo@htsa (Frans van Otten) Newsgroups: comp.lang.c Subject: Re: Standard indentation? Message-ID: <641@htsa.uucp> Date: 6 Dec 88 10:27:14 GMT References:Reply-To: fransvo@htsa.UUCP (Frans van Otten) Organization: HTS "A" Amsterdam Lines: 54 In article nelson@clutx.clarkson.edu writes: >I know, this is a religious question. However, I would like to know if >anyone has codified a standard for indentation of C programs? There seems to be a de-facto standard, to which I stronly disagree. I'll just explain my style: #define then /* as white space; see below */ int func(a, b, c) int a; char b; double c; { if (c > 3.0e10) printf("big\n"); while (a > 2) { putchar(b); putchar(c); if (a > 10) then putchar('1'); else putchar('2'); } } 1. then must be defined (as white space) because the then-action must be at the same level as the else-action. Some people dis- agree with this, but look at it this way: *every* if-statement can be rewritten into a switch-statement, and in that case, the then-action and the else-action are at the same level: if (expr) switch (expr) then stat1; { default: stat1; break; else stat2; case 0: stat2; break; } For shortness, if there is no else-action, you can always write the then-part (with or without the 'then') on the same line as the if (expr). This doesn't make the program less readable. 2. Indentation always by two spaces. A tab uses too much space. 3. Closing } always straight below opening {. It's easier to see where the compound-statement ends. 4. Main rule: something *within* something else *always* indented. You can easily see what belongs to what, which is the next state- ment, etc. I have been using this style for some years now. It has proved to me that it is far more readable then any other style I ever saw. It has proved useful debugging programs. -- Frans van Otten Algemene Hogeschool Amsterdam Technische en Maritieme Faculteit fransvo@htsa.uucp