Difference between revisions of "Coding Rules"

From ArmadeusWiki
Jump to: navigation, search
(C++ files)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
This page defines the Coding Rules that apply to all the source code of the Armadeus Project BSP.
+
This page defines the Coding Rules that apply to all the source code written for the Armadeus Project BSP. Patches for existing Free Software used by Armadeus Project must use the original project rules (if any).
  
 
==C files==
 
==C files==
Line 12: Line 12:
  
 
==Python files==
 
==Python files==
* No rules defined yet.
+
* Follow the [http://www.python.org/dev/peps/pep-0008/ Style Guide for Python code].
  
 
==Makefiles==
 
==Makefiles==

Latest revision as of 06:47, 15 October 2012

This page defines the Coding Rules that apply to all the source code written for the Armadeus Project BSP. Patches for existing Free Software used by Armadeus Project must use the original project rules (if any).

C files

  • Both user space or driver code shall use the Linux kernel "coding style". Details are given here: buildroot/output/build/linux-x.x/Documentation/CodingStyle
  • If not sure, one can use the following script to automagically indent its source files: buildroot/output/build/linux-x.x/scripts/Lindent

C++ files

  • 2 possibilities:
    • either comply with the "C files" Coding Rules listed just above or,
    • follow the Qt Coding Style.
  • Main differences between both are: spaces vs tab indentation and variable naming (my_variable vs myVariable).

Python files

Makefiles

  • Makefiles syntax is already rigid enough to limit coder eccentricity :-)
  • However: constants should be in Uppercase.

Bash scripts

  • Indentation: 1 Tabulation,
  • Do not use more than 132 columns,
  • Constants in Uppercase.

Licences

  • Armadeus Project only accept sources that comply with the major Licenses available in the Free Software community: GPL, GPLv2, LGPL or BSD.