Merge 0.10->trunk
[prosody.git] / doc / coding_style.txt
1 This file describes some coding styles to try and adhere to when contributing to this project.
2 Please try to follow, and feel free to fix code you see not following this standard.
3
4 == Indentation ==
5
6         1 tab indentation for all blocks
7
8 == Spacing ==
9
10 No space between function names and parenthesis and parenthesis and paramters:
11
12                 function foo(bar, baz)
13
14 Single space between braces and key/value pairs in table constructors:
15
16                 { foo = "bar", bar = "foo" }
17
18 == Local variable naming ==
19
20 In this project there are many places where use of globals is restricted, and locals used for faster access.
21
22 Local versions of standard functions should follow the below form:
23
24         math.random -> m_random
25         string.char -> s_char   
26
27 == Miscellaneous ==
28
29 Single-statement blocks may be written on one line when short
30         
31         if foo then bar(); end
32
33 'do' and 'then' keywords should be placed at the end of the line, and never on a line by themself.