Annotate

doc/coding_style.txt @ 4154:3785a9bb7f11

util.pluginloader: Rewritten resource loading to be cleaner, and added support for prosody-modules directory layout. "/" in plugin names is no longer supported.
author Waqas Hussain <waqas20@gmail.com>
date Tue, 22 Feb 2011 21:47:38 +0500
parent 13:716632cca05d
child 8728:41c959c5c84b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 This file describes some coding styles to try and adhere to when contributing to this project.
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 Please try to follow, and feel free to fix code you see not following this standard.
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 == Indentation ==
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 1 tab indentation for all blocks
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 == Spacing ==
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 No space between function names and parenthesis and parenthesis and paramters:
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 function foo(bar, baz)
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 Single space between braces and key/value pairs in table constructors:
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 { foo = "bar", bar = "foo" }
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 == Local variable naming ==
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 In this project there are many places where use of globals is restricted, and locals used for faster access.
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 Local versions of standard functions should follow the below form:
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 math.random -> m_random
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25 string.char -> s_char
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27 == Miscellaneous ==
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
28
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
29 Single-statement blocks may be written on one line when short
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
30
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
31 if foo then bar(); end
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
32
716632cca05d Coding style doc, HACKERS file
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33 'do' and 'then' keywords should be placed at the end of the line, and never on a line by themself.