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

From Teknologisk videncenter
Jump to: navigation, search
m (Abbreviations)
m (Abbreviations)
Line 29: Line 29:
 
|-
 
|-
 
|}
 
|}
 +
  
 
=Abbreviations=
 
=Abbreviations=
 
If abbreviations are used - use logical abbreviations and make a abbreviation table
 
If abbreviations are used - use logical abbreviations and make a abbreviation table
<source lang=c>
+
<source lang=text>
 
/*Abbreviation Table
 
/*Abbreviation Table
 
disp      == display
 
disp      == display
Line 42: Line 43:
 
...
 
...
 
*/
 
*/
 +
</source>
 +
=Indents=
 +
Use K&R or Allman indents.
 +
===K&R example===
 +
<source lang=c>
 +
if (x == y) {
 +
    x++;
 +
    foo();
 +
} else {
 +
    x--;
 +
    bar();
 +
}
 +
</source>
 +
===Allman===
 +
<source lang=cli>
 +
if (x == y)
 +
{
 +
    x++;
 +
    foo();
 +
}
 +
else
 +
{
 +
    x--;
 +
    bar();
 +
}
 
</source>
 
</source>
 
[[Category:C]]
 
[[Category:C]]

Revision as of 07:44, 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();
}