[doc] Update INSTALL file once more.
[libvscmgmt.git] / HACKING
1 GENERAL
2
3 - private functions and variables are prefixed with an underscore
4 - all functions/types are prefixed with vsc_mgmt_/VscMgmt, the only exceptions
5   are static private functions and completely private types like HostConnection
6 - use vsc_alloc/vsc_free instead of using calloc/free directly
7 - use const pointers to indicate read-only usage of objects
8 - indent with tabs, align with spaces, try to keep the line length below 80
9   characters assuming a tab is 4 spaces long
10 - keep the usage of typedefs and macros at a minimal level to maintain good
11   code readability
12 - read http://dl.fefe.de/optimizer-isec.pdf
13 - use enums for constant values instead of defines, because enum values are
14   visible by name in gdb
15 - use VSC__ASSERT for basic input parameter checks in each function to
16   automatically spot simple errors
17 - write code in a way so that valgrind is happy
18 - ...
19
20 DOXYGEN
21
22 - if a function has a prototype in a header file and the implementation in a
23   source file then document it in the source file only
24 - if the function defines an interface like the interface for the backends
25   (that may have various implementations) put the documentation of the expected
26   functionality of the function in the header that defines the interface and
27   put the documentation about the actual implementation in the source files
28   that implement this interface
29 - if an enum or macro is defined only in a header file document it there
30 - use the /*! ... style, not the /** ... style
31 - use the @brief style, not the \brief style
32 - mark the brief line explicitly with @brief
33 - mark internal functions and types with @internal
34 - ...