Difference between revisions of "Phobos Quality"

From D Wiki
Jump to: navigation, search
(Code)
(redirect to the new Phobos contribution guide)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page documents the level of quality that Phobos strives for.
+
#REDIRECT [[Contributing_to_Phobos]]
Especially new modules should be judged according to these guidelines.
 
 
 
 
 
== Documentation ==
 
 
 
* Uses complete english sentences with correct syntax, grammar, and punctuation.
 
* Uses precise technical terms. Avoids colloquialisms.
 
* A synopsis at the beginning motivates the module with an example.
 
* All members are explained with examples which should also be unit tests.
 
* Honestly describe limitations and dangers.
 
 
 
== Code ==
 
 
 
* Follows the [http://dlang.org/dstyle.html style guide] and being consistent in general.
 
* Appropriate unittesting, coverage should be at or near 100%.
 
* Avoid unnecessarily importing other Phobos modules.
 
* Try to not require a garbage collector (this is not a must).
 
* Module boundary is sensible, which means no temptation to split it into multiple modules nor to merge it into another module.
 
* Observe usual good engineering practices (clarity, one entity/one responsibility, avoid code duplication etc).
 
* Maximal <tt>pure</tt>, <tt>@safe</tt>, and <tt>nothrow</tt> unless deduction is in effect.
 

Latest revision as of 10:26, 30 March 2016