rockbox/docs/CONTRIBUTING
Daniel Stenberg e248eac20f imported code are excepted from these guidelines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8893 a1c6a512-1295-4272-9138-f99709370657
2006-03-03 07:31:54 +00:00

66 lines
2.2 KiB
Text

$Id$
__________ __ ___.
Open \______ \ ____ ____ | | _\_ |__ _______ ___
Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
\/ \/ \/ \/ \/
Contribution Policies
In order for the project to run as smoothly as possible, it's best if all
contributors adhere to a few simple source code conventions:
Exceptions
----------
This project borrows and imports quite a lot of code from other free software
projects. We do not change style of such code unless we really have to, even
though they might be using style very different from others.
Language
--------
Write all code in C. Sometimes assembly is faster, but C is always more
readable and maintainable.
Language features
-----------------
Write normal C code. Don't redefine the language. No new types (structs are
structs, not typedefs), no C++isms or Javaisms.
Names
-----
Variables and function names should be all lower case.
Preprocessor symbols should be all uppercase.
Comments
--------
We only use plain old /* C standard comments */.
If you want to comment out large blocks containing other comments, use #if 0.
Style
-----
When changing code, follow the code style of the file you are editing.
When writing new files, you may use the brace placement style of your choice.
Always indent your code with four spaces. Don't use TAB characters, as that
will mess up code display in CVS, printing, and a zillion other places.
Keep lines below 80 columns length. Use whitespace and newlines to make the
code easy to browse/read.
Text format
-----------
Use "unix style" line feeds: "LF" only. Do not use "CR+LF".
Use ISO-8859-1 character set, but try to refrain from using any non-ascii
letters as they will only appear weird in some camps no matter what.
Patches
-------
Create a patch using 'cvs diff -ub'.
Trim your patches so they only contain relevant changes.
Submit your patch to the project via our patch tracker:
http://www.rockbox.org/bugs/index.php?type=4