C Coding Standard

From EiffelStudio: an EiffelSoftware project
Revision as of 15:13, 18 August 2009 by Alexander Kogtenkov (talk | contribs) (→Language consideration: Added a note on function prototypes without arguments)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Not Ready for Review: This Page is Under Development!

Language consideration

  • Avoid using assignment inside an expression.
  • Never use goto.
  • Never use return if this is not the last instruction of a routine.
  • Use break only to separate branches of a switch statement.
  • A declaration
    extern void foo();
    needs to be
    extern void foo(void);
    Otherwise it is not considered a prototype (for compatability with K&R) (see bug#13870).

Style

  • Always use curly braces, even when there is only one instruction. Instead of
if (a) do_something();

write

if (a) {
	do_something();
}
  • Place opening brace at the same line as the condition as in
while (expr) {
	...
}
for (;;) {
	...
}

unless the expression is very long as in

if
	(very_long_expression)
{
	...
}
  • Surround else with braces as in
if (expr) {
	...
} else {
	...
}