Project

General

Profile

Guidelines » History » Version 24

Greg Burri, 08/21/2012 08: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 24 Greg Burri
* Class and method documentation headers are put in _cpp_ files.
8 1 Greg Burri
9 23 Greg Burri
h2. Libraries and tools
10 1 Greg Burri
11 24 Greg Burri
* GCC, Qt and libraries shall only be updated to a new version in the master branch and never in a version branch.
12 23 Greg Burri
13 2 Greg Burri
h2. Coding
14 1 Greg Burri
15 12 Greg Burri
See the prototypes for code reference : source:/prototypes.
16 5 Greg Burri
17 1 Greg Burri
h3. Some random rules
18
19 24 Greg Burri
* We use "Allman style":http://en.wikipedia.org/wiki/Allman_style#Allman_style_.28bsd_in_Emacs.29 with three spaces indentation, no tabulation.
20 13 Greg Burri
* Try to minimize the use of dynamic allocation. Use constructor initializer to set non-pointer members.
21 24 Greg Burri
* Use const parameter references variable passing instead of pointers.
22 18 Greg Burri
* Always have the design pattern "RAII":http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization in mind.
23 22 Greg Burri
* Avoid exception specification, see : http://www.ddj.com/architect/184401544
24 13 Greg Burri
25 5 Greg Burri
h2. Version number
26
27 14 Greg Burri
A version number has three numbers plus a tag and some other information :
28
_<a>.<b>.<c> <tag> <date+time> <tree hash>_
29 5 Greg Burri
30
_<a>_ : Major version
31
_<b>_ : Evolution
32 1 Greg Burri
_<c>_ : Revision (bugfixes)
33 19 Greg Burri
_<tag>_ : alpha | beta<num> | <nothing>
34 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
35 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
36 5 Greg Burri
37 14 Greg Burri
For example (date, time and hash are omitted)  :
38 20 Greg Burri
* _1.0.0 alpha_ (first version)
39
* _1.0.0 beta1_
40
* _1.0.0 beta2_
41
* _1.0.0 beta3_
42
* *_1.0.0_* (stable version)
43 11 Greg Burri
* _1.0.1_ (first revision)
44 7 Greg Burri
* _1.0.2_ (second revision)
45 20 Greg Burri
* _1.1.0 alpha_ (first evolution)
46
* _1.1.0 beta_
47
* *_1.1.0_*
48 5 Greg Burri
* _1.1.1_
49
* etc..
50 8 Greg Burri
51
h3. Beta and alpha versions
52
53
The alpha is a development version not yet finished only for developers.
54 9 Greg Burri
The beta is an almost released version that can be public.
55 15 Greg Burri
56
Only Alpha versions are built in Debug with full log enabled. All other versions are built in release mode.