X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/88fad0aaff9eb463f048bfdfe4ad6218aba44ddb..135f798edba6bcb47842fd17318485bd226ea196:/README.coding?ds=sidebyside diff --git a/README.coding b/README.coding index c0325a7f47..6b3d048dde 100644 --- a/README.coding +++ b/README.coding @@ -24,8 +24,16 @@ SimGrid4 will follow the these rules: (because of a bug in Sonar coverage computation) C++ - fields, methods and variables are in snake_case() - - Classes and Enum are in CamelCase - - filenames: Class.cpp and Class.hpp + - Classes and Enum names are in UpperCamelCase + - Enum values are in UPPER_SNAKE_CASE (as constants) + - public filenames: api_Class.cpp and api/Class.hpp. + - Example: src/s4u/s4u_ConditionVariable.cpp and + include/simgrid/s4u/ConditionVariable.hpp + - If you prefer api_class.cpp, that's OK, too. Breath and relax. + Example: src/s4u/s4u_actor.cpp and include/simgrid/s4u/Actor.hpp + - internal/kernel filenames: Class.cpp and Class.hpp + - Example: src/kernel/activity/Activity.cpp + include/simgrid/activity/Activity.hpp C - variables and functions are in snake_case() - typedefs do not hide the pointers, ie * must be explicit @@ -35,6 +43,30 @@ SimGrid4 will follow the these rules: This is different from the old convention (described below), that should not be used in S4U and its bindings, nor in the kernel. +** +** Commenting the source: doxygen +** +**************************************************** + +The global structure of the documentation is in doc/modules.doc + +The structure of each module (xbt, msg, etc) is in doc/module-.doc + +The structure of a module is in its public header. This way, you're sure to +see all the public interface (and only it). The different parts of the +interface are grouped using the @name construct, even if it's buggy. Since +parts often get reordered, it's better to add numbers to the parts (so that +users can see the intended order). + +The documentation of each type and macro are also in the public header since +this is were they live. + +The documentation of each function must be in the C++ file were it lives. + +Any public element (function, type and macro) must have a @brief part. + +We use @ as a command marker, not \ (so, use @brief not \brief) + ** ** OLD Type naming standard in SimGrid3 ** @@ -60,31 +92,6 @@ Example: Moreover, only toto_t (and e_toto_t) are public. The rest (mainly s_toto_t) is private. -If you see any part of the code not following this convention, this is a -bug. Please report it (or fix it yourself if you can). - -** -** Commenting the source: doxygen -** -**************************************************** - -The global structure of the documentation is in doc/modules.doc - -The structure of each module (xbt, msg, etc) is in doc/module-.doc - -The structure of a module is in its public header. This way, you're sure to -see all the public interface (and only it). The different parts of the -interface are grouped using the @name construct, even if it's buggy. Since -parts often get reordered, it's better to add numbers to the parts (so that -users can see the intended order). - -The documentation of each type and macro are also in the public header since -this is were they live. - -The documentation of each function must be in the C file were it lives. - -Any public element (function, type and macro) must have a @brief part. - * * SimGrid Hacker Survival Guide (FIXME: should be betterly placed)