Difference between revisions of "C programming/House of Technology C coding policy"

From Teknologisk videncenter
Jump to: navigation, search
m (Abbreviations)
m (Allman)
Line 57: Line 57:
 
</source>
 
</source>
 
===Allman===
 
===Allman===
<source lang=cli>
+
<source lang=c>
 
if (x == y)  
 
if (x == y)  
 
{
 
{

Revision as of 07:45, 7 June 2012

Variable names

  • All variable names should be in lower case.
  • All variable names should describe purpose and content.
  • Use _ (underscore) as space.
    • Use int timer0_instance_counter instead of int timer0InstanceCounter
      • If you abbreviate and use tim0_inst_cnt remember to list the abbreviations in the Abbreviation Table.

Function names

  • All function names should be in lower case.
  • All function names should describe purpose and function.
  • Use _ (underscore) as space.
  • Use galaxy_soarsystem_planet approach instead of planet_solarsystem_galaxy
best approach dont use
timer0_start() start_timer0()
timer0_stop() stop_timer0()
timer0_init() init_timer0()
timer1_start() start_timer1()
timer1_stop() stop_timer1()
timer1_init() init_timer1()


Abbreviations

If abbreviations are used - use logical abbreviations and make a abbreviation table

/*Abbreviation Table
disp       == display
dsp        == digital signal processor
tim        == timer
inst       == instance
cnt        == counter

...
*/

Indents

Use K&R or Allman indents.

K&R example

if (x == y) {
    x++;
    foo();
} else {
    x--;
    bar();
}

Allman

if (x == y) 
{
    x++;
    foo();
} 
else 
{
    x--;
    bar();
}