diff --git a/docs/StyleGuide.html b/docs/StyleGuide.html new file mode 100644 index 00000000..b5cf0b5c --- /dev/null +++ b/docs/StyleGuide.html @@ -0,0 +1,112 @@ + + +
+ +Class names with first +letter Uppercase and internal uppercase to separate compound words.
+Function members of +classes follow the same rule.
+Example:
+
Point3f
{
public:
ScalarType
+&V(const int i);
}
+
Public Variable members +has the first letter lowercase and internal uppercase to separate +compound words.
+Example:
+
+
Private Variable members +has an underscore as first char and the first letter lowercase and +internal uppercase to separate compound words.
+Example:
+
Point3f
{
private:
+ScalarType _v[3];
}
+
Class Template Arguments all capitalized and with +names remembering where they have been defined.
+TypeDefs used for templated Class +arguments just like Class Names, but ending with “Type”
+Example:
+
Point3f::ScalarType
+
Header filenames and folders are always +fully lower case. Compound names are separated by '_'.
+Example:
+#include<vcg/space/point3.h>
+Each include file +must begin with the standard legal disclamier/license intestation and +report in the first line of history the $LOG$ cvs string. +
+The following +automatically ge\nerated history can be, from time to time, +compressed/shortened. +
+Each file of the library has to include all the files that it +requires. A include file should relies on the files included by its +include files. Example: in vcg/space/box3.h:
+
+
#include<vcg/math/base.h> // not +necessary because included by point3.h
+#include<vcg/space/point3.h> +
+
+
In Class definitions place all the +prototypes all together before the inline or templated +implementations.
+
+
Tabs are equivalent to two spaces. +
+There are no strict rules for the +placement of '{' or indenting.
+All basic classes (point3, box3 ecc) +must have null constructors. Non null constructors can be added in +debug versions.
+Implicit casting is disallowed. Write a +member Import function for casting from different integral types and +a static Construct to build an object from different a integral type.
+
+
Example:
+
Point3f
+pf(1.0f,0.0f,0.0f);
Point3d
+pd=Point3f::Construct(pf);
pf.Import(pd);