Project

General

Profile

Guidelines » History » Revision 19

Revision 18 (Greg Burri, 10/02/2009 02:03 PM) → Revision 19/24 (Greg Burri, 11/18/2009 09:05 PM)

h1. Guidelines 

 h2. Documentation 

 * Use of ' when referencing a name like 'myVar' 
 * Use of " when referencing a value like "my string" 

 h2. Coding 

 See the prototypes for code reference : source:/prototypes. 

 h3. Some random rules 

 * Try to minimize the use of dynamic allocation. Use constructor initializer to set non-pointer members. 
 * Use parameter references variable passing instead of pointers. 
 * Always have the design pattern "RAII":http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization in mind. 
 * Avoid exception specification, see : http://www.ddj.com/architect/184401544 

 h2. Version number 

 A version number has three numbers plus a tag and some other information : 
 _<a>.<b>.<c> <tag> <date+time> <tree hash>_ 

 _<a>_ : Major version 
 _<b>_ : Evolution 
 _<c>_ : Revision (bugfixes) 
 _<tag>_ : alpha | beta<num> beta | <nothing> 
 _<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 
 _<tree hash>_ : The hash of the built tree, for example : "b53118220bb28abf649df43fc144cc21919b512e":http://git.euphorik.ch/index.cgi?p=aybabtu.git;a=tree;h=b53118220bb28abf649df43fc144cc21919b512e 

 For example (date, time and hash are omitted)    : 
 * _1.0 alpha_ (first version) 
 * _1.0 beta1_ 
 * _1.0 beta2_ 
 * _1.0 beta3_ beta_ 
 * *_1.0_* (stable version) 
 * _1.0.1_ (first revision) 
 * _1.0.2_ (second revision) 
 * _1.1 alpha_ (first evolution) 
 * _1.1 beta_ 
 * *_1.1_* 
 * _1.1.1_ 
 * etc.. 

 h3. Beta and alpha versions 

 The alpha is a development version not yet finished only for developers. 
 The beta is an almost released version that can be public. 

 Only Alpha versions are built in Debug with full log enabled. All other versions are built in release mode.