Guidelines » History » Version 22
Greg Burri, 04/05/2011 02:50 PM
1 | 1 | Greg Burri | h1. Guidelines |
---|---|---|---|
2 | |||
3 | h2. Documentation |
||
4 | |||
5 | * Use of ' when referencing a name like 'myVar' |
||
6 | * Use of " when referencing a value like "my string" |
||
7 | |||
8 | 2 | Greg Burri | h2. Coding |
9 | 1 | Greg Burri | |
10 | 12 | Greg Burri | See the prototypes for code reference : source:/prototypes. |
11 | 5 | Greg Burri | |
12 | 13 | Greg Burri | h3. Some random rules |
13 | |||
14 | 21 | Greg Burri | * We use "Allman style":http://en.wikipedia.org/wiki/Allman_style#Allman_style_.28bsd_in_Emacs.29 whith three spaces indentation, no tabulation. |
15 | 13 | Greg Burri | * Try to minimize the use of dynamic allocation. Use constructor initializer to set non-pointer members. |
16 | * Use parameter references variable passing instead of pointers. |
||
17 | * Always have the design pattern "RAII":http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization in mind. |
||
18 | 18 | Greg Burri | * Avoid exception specification, see : http://www.ddj.com/architect/184401544 |
19 | 22 | Greg Burri | * Class and method documentation headers are put in _cpp_ files. |
20 | 13 | Greg Burri | |
21 | 5 | Greg Burri | h2. Version number |
22 | |||
23 | 14 | Greg Burri | A version number has three numbers plus a tag and some other information : |
24 | _<a>.<b>.<c> <tag> <date+time> <tree hash>_ |
||
25 | 5 | Greg Burri | |
26 | _<a>_ : Major version |
||
27 | _<b>_ : Evolution |
||
28 | 1 | Greg Burri | _<c>_ : Revision (bugfixes) |
29 | 19 | Greg Burri | _<tag>_ : alpha | beta<num> | <nothing> |
30 | 14 | Greg Burri | _<date+time>_ : Date and time of the built tree, for example : _2009-08-01 17:42Z_. See "ISO8601":http://en.wikipedia.org/wiki/ISO_8601 |
31 | 17 | Greg Burri | _<tree hash>_ : The hash of the built tree, for example : "b53118220bb28abf649df43fc144cc21919b512e":http://git.euphorik.ch/index.cgi?p=aybabtu.git;a=tree;h=b53118220bb28abf649df43fc144cc21919b512e |
32 | 5 | Greg Burri | |
33 | 14 | Greg Burri | For example (date, time and hash are omitted) : |
34 | 20 | Greg Burri | * _1.0.0 alpha_ (first version) |
35 | * _1.0.0 beta1_ |
||
36 | * _1.0.0 beta2_ |
||
37 | * _1.0.0 beta3_ |
||
38 | * *_1.0.0_* (stable version) |
||
39 | 11 | Greg Burri | * _1.0.1_ (first revision) |
40 | 7 | Greg Burri | * _1.0.2_ (second revision) |
41 | 20 | Greg Burri | * _1.1.0 alpha_ (first evolution) |
42 | * _1.1.0 beta_ |
||
43 | * *_1.1.0_* |
||
44 | 5 | Greg Burri | * _1.1.1_ |
45 | * etc.. |
||
46 | 8 | Greg Burri | |
47 | h3. Beta and alpha versions |
||
48 | |||
49 | The alpha is a development version not yet finished only for developers. |
||
50 | 9 | Greg Burri | The beta is an almost released version that can be public. |
51 | 15 | Greg Burri | |
52 | Only Alpha versions are built in Debug with full log enabled. All other versions are built in release mode. |